tmux split 内的 Vim 自动补全行

tmux split 内的 Vim 自动补全行

在 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 中运行C-x C-l内部 vim 不起作用,我在 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 内的导航。

相关内容