如何让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/backend
到BYOBU_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
。
CTRL – 左和CTRL – 右在tmux
用于导航窗格,所以我们必须告诉tmux
不要这样做! 只需编辑~/.byobu/keybindings.tmux
并在结尾添加以下行:
unbind-key -n C-Left unbind-key -n C-Right
只需注销/重新登录即可看到更改。
*注意,这只适用于xterm
,而不适用于实际的ttys
。 您会注意到即使不使用byobu
, ctrl – left和ctrl – right也不会像tty
那样表现出来。 出于某种原因使用tty
时,Ubuntu似乎忽略了/etc/inputrc
。