如何使用 Ctrl+Left / Ctrl+Right 在 byobu 中再次跳过一个单词?

如何使用 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+ 。如果我取消映射+和+的键绑定,则光标每次只能移动 1 个字符,而不是每次移动 1 个单词。CtrlCtrl

答案1

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

后来我发现了一个更好的解决方案,使用 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 中一次跳转一个单词。

答案2

在我的~/.zshrc

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

...现在ctrl+left / right在 byobu/tmux 中跳转单词。

答案3

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

CTRL- Left& CTRL-Right用于tmux导航窗格,所以我们必须告诉tmux不要这样做!只需编辑~/.byobu/keybindings.tmux并将以下几行添加到末尾:

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

只需注销/重新登录,您就会看到变化。

*请注意,这仅适用于xterm,不适用于实际ttys。您会注意到,即使不使用byobuctrl-leftctrl-right也不会像 那样表现。出于某种原因,ttyUbuntu 似乎/etc/inputrc在使用 时会忽略它。tty

相关内容