やること
- WSL2 の neovim + vimtex
- chocolatey でインストールした SumatraPDF
で,inverse search を実現します.WSL2 のディストリビューションは Ubuntu,TeX 環境は,WSL2 で texlive をインストールしています.synctex の設定については他のページを参照してください.
neovim (vimtex) の設定
inverse-search とは関係ありませんが,vimtex のプレビュアー設定はこのようにしています.
init.vim
let g:vimtex_view_general_viewer = '/mnt/c/Users/ユーザ名/AppData/Local/SumatraPDF/SumatraPDF.exe'
let g:vimtex_view_general_options = '-reuse-instance -forward-search @tex @line @pdf'
let g:vimtex_view_general_options_latexmk = '-reuse-instance'
SumatraPDF は起動しますが,forward-search ができません.困っていないので,原因は調べていません.
neovim-remote のインストール
$ pip3 install neovim-remote
環境変数 NVIM_LISTEN_ADDRESS にソケット用のパスを設定して,nvim を動かすようにします.
.zshenv
export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket
vbs スクリプトの作成
wsl コマンドはウィンドウが開いてしまうので,vbs 経由で動くようにします.
servername には,NVIM_LISTEN_ADDRESS で設定パスを指定します.
\bin\pdfinv.vbs
Set ws = CreateObject("Wscript.Shell")
n = WScript.Arguments(0)
ws.run "wsl /home/ユーザ名/.local/bin/nvr --servername /tmp/nvimsocket --remote-send "":" & n & "<CR>zz""", vbhide
SumatraPDF の設定
SumatraPDF の [☰] > [設定] > [オプション] の逆順検索コマンドラインの設定に,以下のように書きます.
wscript C:\bin\pdfinv.vbs %l
これで,inverse search ができています.