rcmdnk's blog

Modern Vim: Craft Your Development Environment With Vim 8 and Neovim

今はまだVim 8.0を通常は使っていますが、 Neovimも使ってみようと思って立ち上げてみたらつまずいた話。

texのsyntaxファイルの問題

環境はMacでHomebrewで入れたNeovim 0.2.1です。

このこの前アップデートされたバージョン0.2.1でファイルタイプがtexなファイルを開くと

Error detected while processing /usr/local/Cellar/neovim/0.2.1/share/nvim/runtime/syntax/tex.vim:
line  515:
E697: Missing end of List ']':
E15: Invalid expression: s:texMathDelimList + [ ['\\langle'     , '〈'] , ['\\rangle'     , '〉'] ,

通常a.texみたいな拡張子だとset filetypeで調べるとplaintexというファイルタイプになってますが、 a.latexみたいな拡張子のファイルを開くとファイルタイプはtexになります。

また、他のファイルタイプでもsyntaxファイルの中でsyntax/tex.vimを読み込んでる場合があるので そういった場合にも上のエラーが出ます。 (今回はMarkdownファイルを開いてる時に出ました。)

ちょっと探してみるとs:texMathDelimListというリストな変数にリストを追加する時に、 後ろの括弧閉じがコンマになってる、というバグが正体で、 Vimの方で1月位に最初にバグが入って2月に直しています。

TeX シンタックスファイルの閉じ括弧抜け · Issue #1017 · vim-jp/issues

Update runtime files. · vim/vim@690afe1

Updated runtime files. · vim/vim@3df0173

Neovimの方を見るとこちらにも Issueが立っていて既にFixされたようですが、 5月にVimにあるような追加を行ってその時は最初同じ様なバグがある状態で その日のうちのコミットで直していますが(もしくはVimのコミットを後追いするようなことをしてる?)、 1週間位前にこのファイルをアップデートした時にまた同じバグを仕込んでしまったようです。 これが5日前に治っています。

[RFC] runtime: Fix syntax error in runtime/syntax/tex.vim by ordovicia · Pull Request #7518 · neovim/neovim

vim-patch:690afe1fef87 · neovim/neovim@ac107f7

vim-patch:3df0173fa6d0 · neovim/neovim@deccd84

vim-patch:b0d45e7f5354 · neovim/neovim@2ca5963

runtime: Fix syntax error in runtime/syntax/tex.vim (#7518) · neovim/neovim@d0b05e3

0.2.1がリリースされたのが8日で6日前なので丁度バグが入ってる瞬間のものがリリースされてしまっている様です。

ということで、syntax/tex.vimを使う可能性のある人は0.2.1だとエラーが出るので 最新版を自分でビルドしたり 0.2.2-dev 的なものを使う必要があります。

MacではHomebrewで

$ brew reinstall neovim --HEAD

で入れ直しました。

リリースとしては半年間隔程度で新しいものが出てる感じですが、 これは流石にすぐ直したバージョンが出るかな、と思います。

使い始めは割とこういったことでも嫌になって調べる手間も費やさずに辞めて戻ることも多いので。

(.texなLaTeXファイルでも普通はplaintexになるし、syntax/tex.vimがほとんど使われてないなら あれですが。)

Sponsored Links
Sponsored Links

« vim_ahkで有効にするアプリの変更もメニューから出来る様にした Firefox Quantum 57リリース: Vimperatorは無事死亡 »

}