vimtex

VimLaTeXを書く時に使うプラグインvimtex についてです。

VimLaTeXプラグインには、Vim-LaTeX (LaTeX-Suite)やLaTeX-Boxといったものもありますが、違いを見ていきましょう。
まずVim-LaTeXは一番歴史が古いようで、入力支援などの機能は一番多そうです。しかし機能が多すぎて、分かりにくいのは否めません。
次に、LaTeX-Boxとvimtexについて。この二つは似ています。Forkというわけではないようですが、vimtexはLaTeX-Boxを基にしています。なので、LaTeX-Boxでできることは、だいたいvimtexでもできます。機能も必要なものは揃っているので、現在ではvimtexを使っておけば問題ないでしょう。 なおvimtexは以前はvim-latexという名前だったようですが、LaTeX-Suiteと紛らわしいということで改名したようです。

さて、使い方を軽く。まずvimtexではlatexmkを使用するので、使っていなければ設定しておきましょう。 インストールは例によってNeoBundleなどで。私は以下のような設定をしています。

" vimtex
let g:tex_flavor='latex'
let g:vimtex_latexmk_options = '-pdfdvi'
let g:tex_conceal = ''
let g:vimtex_imaps_enabled = 0
" viewer
let g:vimtex_view_general_viewer
\ = '/Applications/Skim.app/Contents/SharedSupport/displayline'
let g:vimtex_view_general_options = '@line @pdf @tex'
autocmd FileType tex syntax spell toplevel

2, 3行目は必須です(pTeX+dvipdfmxを使っているなら)。viewerの1-3行目のやつは、MacでSkimを使っている場合の設定です。あとはお好みで。
ちなみに'let g:vimtex_imaps_enabled = 0'というのは、vimtexが勝手に設定してくれるinsertモードのmapをオフにするオプションです。 ギリシャ文字の入力などが入ってます。 これについてはauctex.vimあたりの設定を適当にコピーしてきて、 'after/ftplugin/vim.tex'にコピーして使ったほうが、自分でカスタマイズもしやすいと思います。

これで、例えばleaderが'\'なら、\llでタイプセット、\lvでSkimが開いてプレビューできます。 この設定なら、synctexを用いて\lvでVim側と同じ場所に移動できますし、 Skimも設定しておけば、Skim上でCmd-Shift-EnterでVimの同じ箇所に移動できます。 これを有効にするには、Skimの環境設定の「同期する」でMacVimを選びます。
さらに\llでタイプセットを開始すると、以後ファイルを変更するたびに自動でタイプセットが行われます。 とても快適です。

ただ、この自動タイプセットが正常に終了してくれないときがあり、その対処法について次の記事で説明します。 それでは。