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?
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.
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
Pas vraiment répondre à votre question, mais vous pouvez essayer de ALT-F et ALT-B à la place.
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
Ajouter à mon ~/.inputrc
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Était suffisant pour moi.
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.
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)