Synctex для MacVim & zathura
29 июля 2022.
Комментарии
.
Почти все взято отсюда .
Задача: настроить обратный поиск synctex в MacVim + Zathura при работе на
Mac OS, и научить файловый менеджер vifm открывать *.tex
файлы в
правильной инстанции MacVim.
Оглавление
Установка zathura
Установите zathura с поддержкой synctex на Mac OS.
1 2 3 4 5 6 7 brew tap zegervdv/zathura brew install zathura --with-synctex brew install zathura-pdf-poppler zathura-djvu zathura-ps mkdir -p $(brew --prefix zathura)/lib/zathuraln -s $(brew --prefix zathura-pdf-poppler)/libpdf-poppler.dylib $(brew --prefix zathura)/lib/zathura/libpdf-poppler.dylibln -s $(brew --prefix zathura-djvu)/libdjvu.dylib $(brew --prefix zathura)/lib/zathura/libdjvu.dylibln -s $(brew --prefix zathura-ps)/libps.dylib $(brew --prefix zathura)/lib/zathura/libps.dylib
Также, разумеется, установите LaTeX, MacVim (и опционально vifm).
Настройка конфигурационных файлов
vifmrc
~/.vifm/vifmrc 1 2 filetype *.pdf,*.djvu,*.ps ,*.eps zathura %f 2 >/dev/null &nnoremap ,m :!/usr/local/bin/mvim --servername lisync %f 2 >/dev/null &<cr>
.vimrc
~/.vimrc 1 2 3 4 5 6 7 8 9 10 map <F11> <ESC> :w <CR> :!pdflatex -synctex=1 '%' <CR> <CR> function! SyncTexForward () let linenumber=line ("." )let colnumber=col ("." )let filename=bufname ("%" )let filenamePDF=filename[:-4 ]."pdf" let execstr="!zathura --synctex-forward " . linenumber . ":" . colnumber . ":" . filename . " " . filenamePDF . "&>/dev/null &" exec execstr endfunction map <C-enter> :call SyncTexForward()<CR> <CR>
zathurarc
~/.config/zathura/zarhurarc 1 2 3 set dbus-service true set synctex true set synctex-editor-command "mvim --servername lisync --remote-silent +%{line} %{input}"
Порядок работы
Открыть теховский файл в именной инстанции vim, нажав ,m
в vifm.
Из vim по нажатию F11
компилируем (дважды) теховский файл с поддержкой
-synctex=1
.
Нажимаем в vim на нужной строке Ctrl+Enter
, открывается zathura с
подсвеченным текстом.
В zathurа Ctrl+левая кнопка мыши открывают соответствующую часть в
MacVim.