如何在 tmux 中通过 ctrl+左/右键按整个单词移动?

如何在 tmux 中通过 ctrl+左/右键按整个单词移动?

在 zsh 和 bash 中,Ctrl+arrows都允许我按整个单词移动我正在输入的位置,但这在 tmux 中不起作用,这是一个问题,因为我现在每次打开 shell 时都会自动启动它。

我怎样才能解决这个问题?

答案1

  1. 编辑您的~/.tmux.conf并添加行:

    set-window-option -g xterm-keys on
    
  2. 如果您还不想将其永久保留,请执行以下操作:

    C-b :set-window-option xterm-keys on
    
  3. 通过执行以下操作在 tmux 中重新加载您的配置:

    C-b :source-file ~/.tmux.conf
    

更多信息这里

答案2

set-window-option -g xterm-keys on

帮我找到了一些方法并在控制台上给了我Ctrl- ,但它在 vim 中的响应仍然不同。Left/Right

解除密钥绑定似乎没有帮助。

事实证明,在某个时候我将我的默认终端设置为屏幕(set-option -g default-terminal "screen".tmux.conf

将其更改为以下内容给了我Ctrl-Left/Right在其他所有方面:

set-option -g default-terminal "xterm-256color"

希望这对某人有帮助。

答案3

我不确定,但这可能是因为tmux默认情况下C-<up/down/left/right>会将焦点转移到当前焦点窗格上方/下方/左侧/右侧的窗格上。如果您不经常使用窗格,您可能没有注意到此功能。如果这是问题所在,您可以通过以下方式解除这些键的绑定:

unbind C-Left
unbind C-Right

这本身就足够了或者你可能需要手动将它们再次绑定到你想要它们做的事情上,通过:

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>

答案4

对我来说,按键绑定不正确,因为 High Sierra 中的系统偏好设置已设置为由 Mi​​ssion Control 使用。取消选中这些选项后,正确的绑定便可在 iTerm2 和 Tmux 中工作

系统偏好设置

取消选中引用控制键的所有项目,允许绑定正常工作

相关内容