Comment puis-je obtenir Ctrl + Gauche / Ctrl + Droite pour sauter à nouveau un mot dans byobu?

19

Sur mes machines Ubuntu 11.10 exécutant byobu 4.37, je peux utiliser la combinaison de touches Ctrl+ / Ctrl+ pour sauter un mot à la fois dans le terminal. Cependant, sur mes machines Ubuntu 12.04 avec byobu 5.17, cela ne fonctionne plus.

J'ai lu que byobu a remappé ces combinaisons de touches pour redimensionner les divisions, et maintenant Alt+ et Alt+ ont l'effet souhaité. Cependant, je ne peux pas trouver où Alt+ et Alt+ sont mappés, afin de remapper Ctrl+ et Ctrl+ . Si je démappe les raccourcis clavier pour Ctrl+ et Ctrl+ , le curseur ne déplace qu'un seul caractère à la fois, pas un mot à la fois.

chmac
la source

Réponses:

11

Une solution consistait à basculer le backend en écran. Cependant, j'ai eu des problèmes récurrents avec ctrl-right lorsque je l'ai fait. Pour ce faire le changement ~/.byobu/backendà BYOBU_BACKEND=screen.

J'ai par la suite trouvé une bien meilleure solution en utilisant tmux à partir de ce bogue . Créez ~/.byobu/.tmux.confavec cette valeur:

set-window-option -g xterm-keys on

Puis ~/.byobu/keybindings.tmuxavec:

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

Maintenant, ctrl-gauche et ctrl-droite sautent un mot à la fois dans tmux.

chmac
la source
0

Dans mon ~/.zshrc

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

... Et maintenant ctrl+left / rightsauter des mots dans byobu / tmux.

yPhil
la source
C'est une astuce utile. Je suppose que cela ne fonctionne que pour les shells zsh. Personnellement, j'utilise zsh localement, mais bash partout ailleurs.
chmac
0

La raison du changement est que maintenant Byobu utilise tmuxcomme backend, au lieu de screen.

CTRL- Left& CTRL- Rightsont utilisés tmuxpour naviguer dans les volets, nous devons donc dire de tmuxne pas le faire! Modifiez simplement votre ~/.byobu/keybindings.tmuxet ajoutez les lignes suivantes à la fin:

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

Déconnectez-vous / reconnectez-vous et vous devriez voir le changement.

* Remarque, cela ne fonctionnera que pour xterm, pas pour le réel ttys. Vous remarquerez que même sans utiliser byobu, ctrl- leftet ctrl- rightne se comportent pas comme prévu de la part de a tty. Ubuntu semble ignorer /etc/inputrclors de l'utilisation d'un ttypour une raison quelconque.

reverendj1
la source
2
J'ai essayé, mais ensuite ctrl-gauche / droite ne déplace qu'un seul caractère à la fois, pas un mot entier.
chmac
Je peux confirmer la solution de @ chmac.
jrg
2
bonne réponse, mais cela n'a pas fonctionné pour moi sans les .tmux.confchangements
Brenden