Problème d'utilisation des touches Ctrl + Flèche dans Vim lors de l'utilisation de Byobu avec tmux
12
Dans Vim, j'avais défini les touches Ctrl + Flèche pour ignorer les mots. Cela fonctionne très bien lors de l'exécution de Vim à l'intérieur du gnome-terminal.
Cependant, lors de l'utilisation de byobu (tmux), il affiche un comportement étrange: il supprime tout après le curseur.
Le problème est double. Tout d'abord, tmuxpar défaut, convertit les touches fléchées de contrôle d'un type de séquence d'échappement en un autre. Donc les touches spéciales telles que controlleftsont envoyées vimsans modification, par exemple left. Si vous utilisez cat -vpour voir les différentes séquences d'échappement, vous pourriez voir quelque chose comme ça
^[OD
par rapport à cela (en dehors de tmux):
^[[1;5D
La ligne
set-window-option -g xterm-keys on
corrige cet aspect. L'autre partie est que tmuxpar défaut utilise la description du terminal pour screen. Cette description de terminal ne décrit pas les touches de direction. Ces entrées de la base de données du terminal seraient les plus appropriées pour VTE (gnome-terminal):
qui serait automatiquement sélectionné lors de l' exécution dans le screencas correspondant à l' TERMextérieur étaient vte, vte-256coloretc. tmuxne le fait pas-sélection automatique; vous devez modifier son fichier de configuration.
Soit dit en passant, il n'y a pas d'entrée "screen.xterm" car cela interférerait avec certaines utilisations de screen. Il n'y a aucun conflit avec TERM=xterm-new.
Si vous avez une base de données de terminaux par défaut (minimale) comme ncurses-basedans Debian, vous ne les avez peut-être pas. Le plus courant serait xterm-256color, qui est assez proche pour être utilisé avec vim et tmux.
Par exemple, si j'ajoute ceci à mon .tmux.conffichier, il se comporte comme vous vous attendez dans vim:
Hmmm ... Cela fonctionne :) Mais seulement partiellement. Seul Control+ Leftfonctionne; Control+ Rightne l'est pas. Je testerai et mettrai à jour plus tard.
shivams
1
Vous pouvez avoir une autre liaison interférant avec le contrôle + droit (étant donné les détails, je peux offrir des conseils).
Thomas Dickey
Merci pour l'offre :) J'ai enquêté un peu et j'ai constaté qu'en effet, d'autres raccourcis clavier provoquaient des interférences. Par exemple, sur mon Mac, cela fonctionne bien, tandis que sous Linux (en utilisant Guake), cela ne fonctionne pas. Cependant, je suis en dehors de la station et je ne peux pas accéder à mon Linux. Je mettrai à jour lorsque je résoudrai le problème.
shivams
@Thomam Dickey: En attendant, j'accepte votre réponse car elle résout effectivement le problème.
shivams
@ThomasDickey Je voudrais juste dire, "Go raibh míle maith agat" qui en irlandais est littéralement traduit par "Puissiez-vous avoir mille bonnes choses." Merci beaucoup pour cette réponse. Tu es une star.
Rob
2
De là, vous pouvez dissocier la combinaison de touches dans byobu:
Créez un fichier ~/.byobu/.tmux.confavec (ou ajoutez si le fichier existe):
set-window-option -g xterm-keys on
Ajoutez ensuite ce qui suit à ~/.byobu/keybindings.tmux:
Control
+Left
fonctionne;Control
+Right
ne l'est pas. Je testerai et mettrai à jour plus tard.De là, vous pouvez dissocier la combinaison de touches dans byobu:
Créez un fichier
~/.byobu/.tmux.conf
avec (ou ajoutez si le fichier existe):Ajoutez ensuite ce qui suit à
~/.byobu/keybindings.tmux
:la source