Help us understand the problem. What is going on with this article?

CLIのneovimでSkimとSyncTeXするには

More than 3 years have 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

KeitaNakamura
Researcher in Geomechanics
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away