vim-javascript から tigris.nvim に乗り換えたら快適だった
最近neovimに乗り換えてから、javascriptの編集中にたまに固まる現象が発生して困っていた。 再現条件をいろいろ試したらどうやらvim-javascriptのインデント処理で無限ループしている様子。 という訳でvimの設定を見直してみることにした。
要件としては、インデントはPrettierでやるので、シンタックスハイライトだけ綺麗にやってくれればいい。
調べたら tigris.nvimというプラグインを見つけた。 これはnodeベースのプラグインで、Babylonを使って構文解析をしてハイライトを実現している。 Babylonはbabelプロジェクトの一部で、JSX, Flow, Typescriptを標準でサポートしている。 だからvim-javascriptのようにvimコミュニティが必死で新たな構文のサポートを追いかける必要がない。 ソースコードを覗いたらシンプルな実装だったので試してみた。
実際のハイライトは筋がいい印象。気に入った。固まる現象も消えたし、Flowシンタックスも問題ない。
インストール方法
自分はdeinでプラグインを管理している。
toml
ファイルに以下のように記述した:
[[plugins]] repo = 'billyvg/tigris.nvim' on_ft = ['javascript', 'javascript.jsx'] hook_post_update = ''' let g:dein#plugin.build = './install.sh' '''
インストールしたら、 :UpdateRemotePlugins
を実行する。
neovimを再起動してインストール完了。
設定
オンザフライで構文解析してハイライトして欲しいので以下のように設定した:
let g:tigris#enabled = 1 let g:tigris#on_the_fly_enabled = 1 let g:tigris#delay = 300
おすすめ。