Vim - LaTeX. Как условно открыть программу просмотра PDF? - PullRequest
0 голосов
/ 01 февраля 2020

В настоящее время я пытаюсь написать собственную настройку для автоматической компиляции и предварительного просмотра кода LaTeX с использованием Vim и Zathura. Это код, который у меня есть в моем tex.vim файле:

:map <F6> :w <bar> ! pdflatex -synctex=1 -interaction=nonstopmode %<CR><CR>
:map <F7> :! zathura $(echo % \| sed 's/tex$/pdf/') & disown<CR><CR>

. Это прекрасно работает, пока я компилирую код (из Vim), и я нахожусь в каталоге, где находятся мои текстовые файлы. Однако мне бы хотелось, чтобы это работало независимо от моей позиции (поскольку я часто открываю файлы из Vim с помощью команды :e). Как это исправить?

Кроме того, я бы хотел, чтобы Zathura открывался, только если предварительный просмотр PDF еще не открыт. У кого-нибудь есть предложения относительно того, как это сделать?

1 Ответ

0 голосов
/ 02 февраля 2020

Вы можете использовать :h filename-modifiers вместо вашего sed хака, поэтому это должно сделать:

nnoremap :<C-u>w <bar> ! pdflatex -synctex=1 -interaction=nonstopmode %:p<CR>
nnoremap :<C-u>! zathura %:p:r.pdf<CR>

Я также изменил эти сопоставления, чтобы использовать :nnoremap, который вы все равно должны предпочесть.


Если вы хотите расширить свой Vim-fu еще больше, вы можете проверить :h compiler и :h compilet-tex, которые будут обрабатывать правильные настройки 'makeprg' для вас, что позволит вам использовать :make для построения Файлы TeX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...