私はTmuxでVimとBashを並べて使います。私はファイルを切り替えるときにファイルを自動的に保存するようにVimを設定しましたが、Bashウィンドウに切り替えるときに自動的に保存したいと思います。
ウィンドウがフォーカスを失ったときにTmuxにVimに何らかのコードを送信させる方法はありますか?
ベストアンサー1
これはおそらくvim
クライアントサーバーモデルを使用するのが最善です。で使用するための良いガイドラインがあります:help remote.txt
。
まず、vim
このオプションでコンパイルされたクライアントが必要です+clientserver
。ディストリビューションがこのようにパッケージ化されていない場合は、ソースコードを(、、apt-get source
などabs
を介して)入手してこのオプションを追加してください。
tmux
これが完了したら、ウィンドウを変更するときに、次のようにアクティブウィンドウに何かを送信できるようにキーを再バインドする必要があります。
vim --servername foo --remote-send '<C-\><C-N>:w<CR>'
次のことが機能します(テストされていません)。
bind-key 0 run-shell "vim --servername foo --remote-send '<C-\><C-N>:w<CR>'" \; select-window -t :0