重新映射 tmux 键以像在 vim 中一样导航窗格

重新映射 tmux 键以像在 vim 中一样导航窗格

vim我通过点击Ctrl+wrelease +来导航窗格an arrow key (left|right|down|up)

我想更改我的tmux配置,以便窗格导航与中相同,vim这样我就不必进行上下文切换。

目前,我有以下配置用于导航窗格tmux

bind-key j select-pane -D
bind-key k select-pane -U
bind-key h select-pane -L
bind-key l select-pane -R

我的全局前缀设置为C-f,以便我可以通过点击在窗格之间导航C-f + arrowkey

有什么方法可以将其重新映射为C-w + arrowkeylikevim吗?

我尝试过类似的事情,但毫无结果

bind -n C-w-j select-pane -D
bind -n C-w-k select-pane -U
bind -n C-w-h select-pane -L
bind -n C-w-l select-pane -R

我误解了键的组成如何在 中工作tmux,但文档没有多大帮助。

答案1

man 1 tmux,其中描述bind-key,指出:

键也可以绑定在自定义键表中,以及switch-client -T用于从键绑定切换到它们的命令。

switch-client关于[强调我的]的相关部分:

-T设置客户端的密钥表;来自客户端的下一个密钥将被解释为key-table这可用于配置多个前缀键,或将命令绑定到按键序列。

让我们将新的自定义密钥表命名为Cw。我们希望Ctrl+w选择它,然后我们希望使用箭头键在该表中相应地选择窗格。这:

bind-key    -T root C-w   switch-client -T Cw
bind-key -r -T Cw   Right select-pane   -R
bind-key -r -T Cw   Left  select-pane   -L
bind-key -r -T Cw   Up    select-pane   -U
bind-key -r -T Cw   Down  select-pane   -D

您可能喜欢也可能不喜欢这些没有-r.

相关内容