124 votes

Comment faire pour que les touches ctrl-flèche avancent/retardent d'un mot à la fois dans Cygwin bash ?

Dans l'installation Cygwin par défaut, l'utilisation de CTRL-LEFTARROW ou CTRL-RIGHTARROW imprime simplement 5C ou 5D au lieu de sauter un mot à la fois comme prévu.

Les touches Home/End fonctionnent correctement, donc le remapping devrait être possible.

167voto

Gregg Points 61

J'ai trouvé un Lösung en le postant ici pour la postérité.

Ajoutez les lignes suivantes à ~/.inputrc ( C:\cygwin\home\<username>\.inputrc ):

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

Lorsque vous avez terminé, vous pouvez appuyer sur C-x C-r de relire le .inputrc pour la session en cours.

Points à noter si vous souhaitez d'autres personnalisations similaires : Utilisez 5A y 5B pour les flèches haut et bas, et 2x pour les versions décalées.

Les mappages de clés "officiels" sont décrits dans le document intitulé Manuel de référence Bash mais pour un moyen rapide de trouver un mappage de touches, en bash :

  1. type Ctrl + V
  2. tapez la séquence de touches qui vous intéresse (par exemple, Alt + ). Le résultat est le suivant ^[[1;3C
  3. supprimer le début ^[ et le remplacer par \e de faire \e[1;3C
  4. placez cette valeur dans votre .inputrc Datei.

21voto

Kdt Points 211

Vous pouvez recharger le fichier .inputrc via :

bind -f ~/.inputrc

Source :

9voto

BrijeshTrivedi Points 41

Si vous voulez quelque chose qui fonctionne sans paramètres d'environnement personnalisés, par exemple lorsque vous travaillez sur un compte partagé sur un serveur ou simplement pour limiter la quantité de configuration personnalisée utilisée, Bash a des modules intégrés pour cela qui fonctionnent dans Cygwin.

A savoir Alt + f pour aller de l'avant et Alt + b pour reculer.

http://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html

1voto

MB41 Points 107

En utilisant rxvt avec cygwin, j'ai trouvé la solution à ce lien qui a fonctionné pour moi : touches_flèches_de_contrôle_dans_rxvt .

Ajoutez les lignes suivantes à ~/.inputrc :

"\eOd": backward-word
"\eOc": forward-word

0voto

f0nzie Points 109

Cette solution fonctionne également dans msys2 consoles :

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

Il suffit de placer ces combinaisons de touches dans le .inputrc Datei.

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