Итак, вы хотите, чтобы Markdown соответствовал отображениям LaTeX, верно?!
Давайте сначала приведем в порядок исходные; к сожалению, многие люди просто копируют и вставляют вещи, которые можно увидеть в Интернете, не понимая их полностью. Узнайте, как искать команды и перемещаться по встроенному :help
; это всеобъемлющее и предлагает много советов. Вы не будете изучать Vim так же быстро, как другие редакторы, но если вы посвятите себя постоянному обучению, он окажется очень мощным и эффективным редактором.
autocmd FileType tex nnoremap <C-C> :!xelatex<space><c-r>%<Enter>
autocmd FileType tex inoremap <C-C> <Esc>:!xelatex<space><c-r>%<Enter>a
- Нет необходимости в специальной записи
<space>
.
- Отображение будет определено глобально , но мы хотим это только для буферов LaTeX. Это важно после того, как вы определили свой вариант Markdown, если вы когда-либо будете редактировать оба в одном сеансе Vim.
<buffer>
сделает это локальным отображением.
-
c_CTRL-R
вставляет специальный регистр %
, который обозначает текущий файл. Но это не обязательно, в команде :!
мы можем напрямую обратиться к ней через %
. Cp. :help cmdline-special
- Для отображения режима вставки можно использовать
i_CTRL-O
вместо <Esc>...a
.
autocmd FileType tex nnoremap <buffer> <C-C> :!xelatex %<Enter>
Теперь, когда у нас это есть, мы можем определить вариант для Markdown. Это filetype
(выясняется через :setl filetype?
) равно markdown
.
autocmd FileType markdown nnoremap <buffer> <C-C> !pandoc % --pdf-engine=xelatex -o %:r.pdf
То, что %:r
- это еще одна специальная запись, которая удаляет последнее расширение из текущего имени файла, так что мы можем вместо него добавить .pdf
.
Я оставлю вам вариант режима вставки для практики: -)
Заключительные слова
Я бы порекомендовал помещать любые параметры, сопоставления и специфичные для типов файлов autocmds в ~/.vim/ftplugin/{filetype}_whatever.vim
(или {filetype}/whatever.vim
; ср. :help ftplugin-name
) вместо определения лотов :autocmd FileType {filetype}
; он чище и лучше масштабируется; требует, чтобы у вас было :filetype plugin on
, хотя. Настройки, которые переопределяют вещи в плагинах типов файлов по умолчанию, должны вместо этого указываться в ~/.vim/after/ftplugin/{filetype}.vim
.