如何让Ctrl + Left / Ctrl + Right在byobu中再次跳转一个单词?

在运行byobu 4.37的我的Ubuntu 11.10机器上,我可以使用组合键Ctrl + / Ctrl + 在终端中一次跳转一个单词。 但是,在我的带有byobu 5.17的Ubuntu 12.04机器上,这已不再适用。

我已经读过,byobu重新映射了这些键组合以调整分割大小,现在Alt + Alt + 具有所需的效果。 但是,我无法找到Alt + Alt + 的映射位置,以便重新映射Ctrl + Ctrl + 。 如果取消映射Ctrl + Ctrl + 的键绑定,则光标一次只移动1个字符,而不是一次移动1个字。

一种解决方案是将后端切换到屏幕。 但是,当我这样做时,我在ctrl-right中遇到了反复出现的问题。 要做到这一点,请改变~/.byobu/backendBYOBU_BACKEND=screen

我随后发现了一个更好的解决方案,使用来自这个bug的 tmux。 使用此值创建~/.byobu/.tmux.conf

 set-window-option -g xterm-keys on 

然后~/.byobu/keybindings.tmux

 unbind-key -n C-Left unbind-key -n C-Right 

现在ctrl-left和ctrl-right在tmux中一次跳一个字。

在我的~/.zshrc

 bindkey '^[[1;5D' backward-word bindkey '^[[1;5C' forward-word 

…现在在byobu / tmux中按ctrl+left / right跳转字。

改变的原因是因为现在Byobu使用tmux作为后端而不是screen

CTRLCTRLtmux用于导航窗格,所以我们必须告诉tmux不要这样做! 只需编辑~/.byobu/keybindings.tmux并在结尾添加以下行:

 unbind-key -n C-Left unbind-key -n C-Right 

只需注销/重新登录即可看到更改。

*注意,这只适用于xterm ,而不适用于实际的ttys 。 您会注意到即使不使用byobuctrlleftctrlright也不会像tty那样表现出来。 出于某种原因使用tty时,Ubuntu似乎忽略了/etc/inputrc