SyncTeXを使うためには色々設定項目があって、さらにOS毎に違っており面倒臭いという話。 この記事は
と被るところも多い。 以降に書くことも大抵のことはvimtexのドキュメントを見れば書いてあるが、メモも兼ねて書いておく。
vimtexのインストール、最低限の設定がしてあることを前提とする。 基本的にNeoVimが対象だが、Vimでもそのまま使えるところはその都度明記しておく。
まずneovim-remoteをインストールする。
$ pip3 install neovim-remote
vimrcには次を追記する。 これでMacでもLinuxでも、VimでもNeoVimでも対応できる。 PDFビューアとしてはMacではSkim、LinuxではZathuraを用いている。
if has('mac') let g:vimtex_view_method='skim' else let g:vimtex_view_method='zathura' endif if has('nvim') let g:vimtex_compiler_progname \ = 'nvr' endif
TeXファイルを開くときは
$ NVIM_LISTEN_ADDRESS=/tmp/nvimsocket nvim file.tex
で開く。 /tmp/nvimsocket のところは任意の文字列で良さそう。 aliasを作っておくと便利。
TeX → PDF
上だけでVimでもNeoVimでもOK。
vim上で <localleader>lv
を実行すればPDFの該当箇所が開く。
PDF → TeX
Linuxの場合
同じく上だけでVimでもNeoVimでもOK。 PDF上でCtrl+クリックをすれば、(Neo)Vimのカーソルが該当箇所に移動する。 残念ながらウィンドウのフォーカスまでは移動しないようだ。
Macの場合
こちらはNeoVim (CLI)を前提とする。 Skimの設定が必要になる。
環境設定の「同期する」タブを選ぶ。
「PDF-TeX同期サポート」で初期値を「カスタム」にして、
コマンドを nvr
、引数を --remote-silent "%file" -c %line
にする。
Skimを再起動したり、OSを再起動しないと設定が有効にならないかもしれない。
反映されるタイミングが謎。
これでPDFをCmd+Shift+クリックすれば、該当箇所にNeoVimのカーソルが移動する。