MSysGit Bash - comment activer Ctrl + flèches Gauche / Droite?

Existe-t-il un moyen d'activer Ctrl + / raccourcis clavier (aller au mot précédent / suivant) dans la console Bash installée avec MSysGit?

31
demandé sur Mwizak 2010-11-04 11:10:08

7 réponses

À votre invite Bash, appuyez sur Ctrl-v Ctrl-Flèche Gauche et Ctrl-v Ctrl-Flèche droite et de prendre note de la sortie. Vous devriez voir quelque chose comme: ^[OD et ^[OC ou similaire. Ajoutez les lignes suivantes à votre ~/.inputrc:

"\eOC": forward-word
"\eOD": backward-word

Où vous remplacerez \e par escape (^[) et le reste des personnages que vous avez obtenus (OD, OC ou similaire).

Pour relire le fichier et activer les modifications immédiatement, appuyez sur Ctrl-x Ctrl-r.

48
répondu Dennis Williamson 2010-11-04 14:12:07

J'ai trouvé cette réponse par tan sur AskUbuntu, qui a fonctionné pour moi après qu'aucune de ces réponses ne l'ait fait. Je vais le republier ici.

Qu'y a-t-il dans vos ~/.inputrc et /etc/inputrc? Le minimum pour que ces clés fonctionnent est, je pense:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

Si vous les avez dans /etc/inputrc, le fichier doit être inclus à partir de ~/.inputrc, vérifiez donc qu'il a la ligne suivante:

$include /etc/inputrc
27
répondu Cody Piersall 2017-04-13 12:22:42

Pas vraiment répondre à votre question, mais vous pouvez essayer de ALT-F et ALT-B à la place.

10
répondu J-16 SDiZ 2010-11-04 08:22:01

Cela a fonctionné pour moi dans Windows 7:

Ajoutez ceci au ~/.inputrc Puis redémarrez la console et cela devrait fonctionner pour vous.

Cela fait que vous pouvez utiliser

CTRL+ ou CTRL+

Ou

ALT+ ou ALT+

## Windows msysgit
## Alt + right/left
"\e\e[C": forward-word     ### Alt + right
"\e\e[D": backward-word    ### Alt + left
## Ctrl + right/left
"\e[C": forward-word       ### Ctrl + right
"\e[D": backward-word      ### Ctrl + left
6
répondu James Affleck 2016-03-21 20:32:17

Ajouter à mon ~/.inputrc

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Était suffisant pour moi.

3
répondu Treviño 2013-05-24 11:39:19

Pour ceux qui savent pas pourquoi il ne fonctionne pas pour les ctrl+Flèche Gauche et ctrl+Flèche Droite.

C'est à cause d'un bug avec windows 7, peut-être d'autres, et msys où la clé ctrl ne serait pas reconnue (au moins pour mon cas).

Pour vérifier si vous êtes dans la même situation, faites ce que @ Dennis dit:

  • terminal ouvert
  • assurez - ctrl+v n'a pas été reconfigurée pour quelque chose else
  • Appuyez sur ctrl+v suivi par ctrl+Flèche Gauche pour vérifier la séquence de touche
  • regardez la sortie

Répétez l'opération en appuyant uniquement sur la flèche gauche .

S'ils sont identiques, Bienvenue dans mon monde. Vous pouvez maintenant utiliser Autohotkey pour remapper les touches ou utilisez le plus récent windows git bash.

2
répondu clenemt 2015-09-09 14:59:07

J'ai édité le fichier /etc/inputrc:

      sudo gedit /etc/inputrc

Et commenté hors les lignes suivantes:

      $if term=rxvt
      "\e[8~": end-of-line
      "\eOc": forward-word
      "\eOd": backward-word
      $endif

Ensuite, j'ai édité le fichier ~/.bashrc:

      sudo gedit ~/.bashrc

Et a ajouté les lignes suivantes en bas:

      #### enable Ctrl+Left , Ctrl+Right keybindings:
      bind '"\e[1;5C":forward-word'   # Ctrl+Right
      bind '"\e[1;5D":backward-word'  # Ctrl+Left 

, Il semble fonctionner et, au moins jusqu'à présent, sans effets secondaires.

(testé sur Ubuntu GnomeShell Remix 12.04 AMD64)

1
répondu Emiliano 2013-01-07 01:39:57