どうもてぃです。
皆さん日頃からvimvimしてますでしょうか?
今回直近で自社開発の別プロジェクトに参画することになったため、いい加減になってたvimのjsプラグインを整理することにしました。
まだまだ問題は山積みなんですが、その中でもLintが自動で効いて重くなる問題を先に解決することとしました。
現状
- インサートモードから出ると自動でチェックが入る
- チェック時に固まる
- 切り取り時(
x
)にもチェックが入るので作業効率が悪い - quickfixが常動くのでファイルが見にくくなる
原因究明
まずはどのプラグインが原因なのか確認。
jsやjsxでは特にこの問題は発生してなかったので、typescript関連かなと。僕の場合、typescript-vim
とtsuquyomi
しか入れてなかったためすぐに見つかりました。
原因はtsuquyomi
の方でした。
quickfixを出ないようにする
最初にやった対処がこれです。
let g:tsuquyomi_disable_quickfix = 1
これを設定すれば、quickfixがそもそもでなくなります。
が、毎回:TsuGeterr
するのは面倒くさい。マップしようかなともおもいましたが、保存時に自動で動くようにしたかった。
pull requestあった
有志の方が修正してました。マジ神。
vim8ならlet g:tsuquyomi_use_vimproc = 0
、そうでなければ autocmd InsertLeave,TextChanged,BufWritePost *.ts,*.tsx call tsuquyomi#asyncGeterr()
を設定すれば、非同期でチェックを行うので、画面が固まらなくなると。
ありがとうございます。感謝。
おわり
まだtsuquyomiでの補完も効かない問題が残ってます。
今回ので前よりは速くなったし固まらなくなったけど、ファイル修正途中で毎回動くと少しラグがな…と思ってますが、quickfixをdisableにするしかなくなるので一旦これで我慢です。
TypeScriptもっとがんばろうー。