Mac
neovim
Skim

CLIのneovimでSkimとSyncTeXするには

More than 1 year has passed since last update.

本記事はvimのLaTeXプラグインvimtexを利用しているのが前提です。

neovimからskim

これは、CLIに限らずGUIのneovimでも同じはずです。
vimrcに以下のように追加すればOKです。

~/.vimrc
let g:vimtex_view_general_viewer = '/Applications/Skim.app/Contents/SharedSupport/displayline'
let g:vimtex_view_general_options = '@line @pdf @tex'

ちなみに、SkimをHomebrew caskでインストールしている場合は、displaylineのシンボリックリンクが自動的に/usr/local/binに貼り付けられるので、

~/.vimrc
let g:vimtex_view_general_viewer = 'displayline'

としても問題ありません。

これで、vim上で\lvとタイプすれば、Skimのpdf上で一致する箇所に飛ぶことができます。

Untitled.gif

skimからneovim

ここからは、(多分)CLI専用になります。

neovim-remoteのインストール

これは、neovimを外部から操作するためのツールです。pip3 install neovim-remoteでインストールします。

Skimの設定

Screen Shot 2017-07-17 at 3.34.35.png

コマンドの最後の:<esc>というのは、ステータスラインに行番号が残らないようにするためで、なくても大丈夫です。

コマンドラインからneovimを起動

コマンドラインからneovimを起動する際は、普通に起動してはいけません。
以下のように起動してください。

$ NVIM_LISTEN_ADDRESS=/tmp/nvimsocket nvim

毎回これを打つのは面倒だと思うので、シェルでaliasを作るなりすると良いと思います。
ちなみに僕はzshを使っているので、以下のように設定してます。

~/.zshrc
alias nvimtex="NVIM_LISTEN_ADDRESS=/tmp/nvimsocket nvim"

これで、nvimの代わりにnvimtexを使えば、SyncTeXが使える環境でneovimが起動できます。

実際にやってみる

Skimで開いたpdf上でcommand+shift+クリックをすれば、neovim上のtexファイルが自動的にその行に飛びます。

Untitled2.gif