tmuxでvimを使用してオートコンプリート行の提案を作成したいと思います(通常は完了でC-x C-l
)。
.tmux
ただし、ウィンドウ間のナビゲーションキーとして機能する次の設定がありますC-l
(右側のウィンドウを選択)。
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^STXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
bind-key -T copy-mode-vi 'C-h' select-pane -L
bind-key -T copy-mode-vi 'C-j' select-pane -D
bind-key -T copy-mode-vi 'C-k' select-pane -U
bind-key -T copy-mode-vi 'C-l' select-pane -R
tmuxで内部vimを実行してもC-x C-l
機能しません。 vimから結論を得ます-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
。
vimを直接実行すると(tmux内で実行せず)、うまく動作します。
.tmux.conf
この状況へのアプローチをどのように変更できますか?
答え1
これはうまくいくようです:
-grep -iqE '^[^STXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
+grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
しかし、vim内のナビゲーションは完全に無効になります。