111 votes

Comment puis-je faire en sorte que les touches ctrl+gauche/droite se déplacent par mot entier dans tmux ?

Dans zsh et bash, ctrl+flèches me permet de déplacer la position à laquelle je tape par mot entier, mais cela ne fonctionne pas dans tmux, ce qui est un problème car je le lance actuellement automatiquement chaque fois que j'ouvre un Shell.

Comment puis-je réparer cela ?

150voto

sgzmd Points 1576
  1. Modifiez votre ~/.tmux.conf et ajouter des lignes :

    set-window-option -g xterm-keys on
  2. Si vous ne voulez pas encore le rendre permanent, faites-le :

    C-b :set-window-option xterm-keys on
  3. Rechargez votre configuration dans tmux en faisant :

    C-b :source-file ~/.tmux.conf

Plus d'informations aquí :

12voto

Kieran Moore Points 211
set-window-option -g xterm-keys on

J'ai fait une partie du chemin jusqu'ici et m'ai donné Ctrl - Left/Right sur la console, mais il répondait toujours différemment dans vim.

Détacher les clés n'a pas semblé aider.

Il s'est avéré qu'à un moment donné, j'avais réglé mon terminal par défaut sur screen ( set-option -g default-terminal "screen" sur .tmux.conf )

En remplaçant cette phrase par la suivante, j'ai obtenu Ctrl - Left/Right dans tout le reste :

set-option -g default-terminal "xterm-256color"

J'espère que cela aidera quelqu'un.

3voto

OutputLogic Points 101

Je ne suis pas sûr, mais ça pourrait être parce que tmux par défaut lie C-<up/down/left/right> pour déplacer le focus sur le volet au-dessus/au-dessous/gauche/droite du volet actuellement focalisé. Si vous n'utilisez pas souvent les volets, vous n'avez peut-être pas remarqué cette fonctionnalité. Si le problème vient de là, vous pouvez délier ces touches en disant :

unbind C-Left
unbind C-Right

Cela pourrait être suffisant en soi. ou vous devrez peut-être les lier à nouveau manuellement à ce que vous voulez qu'ils fassent, par exemple :

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>

3voto

Pour msys2/Cygwin/mintty :

Ajouter ci-dessous à ~/.inputrc .

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

Le rechargement ferait fonctionner tmux correctement.

3voto

Andrew Points 529

Pour moi, les touches n'étaient pas liées correctement, car les préférences système dans High Sierra étaient configurées pour être utilisées par Mission Control. En décochant ces préférences, les liaisons correctes ont pu fonctionner dans iTerm2 et Tmux.

System Preferences

En décochant tous les éléments faisant référence à la touche de contrôle, les liaisons ont pu fonctionner correctement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X