simple-web-system technology

Webに関する技術をシンプルに扱うブログ

neovim-treesitterインストール時にTSUpdateでmore表示を自動で進める方法

結論 tmuxを使う

neovim-treesitterをlazy.nvim等でインストールする際に、TSUpdateも同時に実行するのが一般的かと思われます。

このとき、インストール対象を絞っていない場合、表示が長くなっていくとmoreというようにpagerが表示されて、enterキーやjキー等を押してスクロールしないと次のインストールが始まらなくなってしまいます。

これを解消するには、tmuxでキー入力を送信するのが手っ取り早かったです。

# 1. tmuxでneovimをpane1に開いた状態にしておく
# 2. yesコマンドでjを表示し続ける
# 3. tmux send-keysで対象のpane(今回はpane1)にキーを送信する。yesコマンドのおかげで、繰り返し送れる
yes j | xargs -I{} tmux send-keys -t 1 {}

余談

neovimの機能を活かせば、もっといい方法もありそうですが、わからなかったので、いい方法があれば誰か教えてください。

TSUpdateのオプションも見たけどそれっぽいのないですし。(TSUpdateSyncかなと思ったけど、なんか動かなかった。。。)

autocmdでTSUpdate時になにか実行するアプローチも良さそうですけど、vim力が足りなかった・・・。

そもそも、これやっても結構時間かかるので、インストールするtreesitterは絞ったほうがいいかもしれません。