Как мне получить Ctrl + Left / Ctrl + Right, чтобы снова прыгнуть слово в бёбу?

19

На моих машинах Ubuntu 11.10, работающих под управлением byobu 4.37, я могу использовать комбинацию клавиш Ctrl+ / Ctrl+, чтобы перейти по слову за раз в терминале. Однако на моих машинах с Ubuntu 12.04 с byobu 5.17 это больше не работает.

Я читал, что byobu переназначил эти комбинации клавиш, чтобы изменить размер разбиений, и теперь Alt+ и Alt+ дают желаемый эффект. Однако я не могу найти, где Alt+ и Alt+ отображаются, чтобы переназначить Ctrl+ и Ctrl+ . Если я отменю отображение привязок клавиш для Ctrl+ и Ctrl+ , то курсор перемещается только на 1 символ за раз, а не на 1 слово за раз.

chmac
источник

Ответы:

11

Одним из решений было переключение бэкэнда на экран. Тем не менее, у меня были повторяющиеся проблемы с Ctrl-право, когда я это сделал. Для этого измените ~/.byobu/backendна BYOBU_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.

chmac
источник
0

В моем ~/.zshrc

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

... а теперь ctrl+left / rightпрыгайте словами в бёбу / тмукс.

yPhil
источник
Это полезный трюк. Я думаю, это работает только для Zsh оболочек. Лично я использую zsh локально, но bash везде.
Chmac
0

Причина изменения в том, что теперь tmuxв качестве бэкэнда используется Byobu , а не screen.

CTRL- Left& CTRL- Rightиспользуются tmuxдля навигации по панелям, поэтому мы должны сказать tmuxне делать этого! Просто отредактируйте свой ~/.byobu/keybindings.tmuxи добавьте следующие строки в конец:

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

Просто выйдите из системы, и вы должны увидеть изменения.

* Обратите внимание, это будет работать только для xterm, а не для фактического ttys. Вы заметите, что даже без использования byobu, ctrl- leftи ctrl- rightне ведут себя так, как ожидалось от tty. Ubuntu, кажется, игнорирует /etc/inputrcпри использовании ttyпо какой-то причине.

reverendj1
источник
2
Я попробовал это, но затем ctrl-left / right перемещает только один символ за раз, а не целое слово.
Chmac
Я могу подтвердить решение @ chmac.
JRG
2
хороший ответ, но он не работал для меня без .tmux.confизменений
Brenden