Ne peut plus utiliser CTRL + Gauche / Droite dans Bash Terminal

13

J'utilise habituellement CTRL+ Leftet CTRL+ Rightpour naviguer entre les mots sur la ligne de commande. J'ai allumé mon ordinateur portable ce matin et je ne peux plus le faire. Au lieu de cela, le code d'entrée CTRL+ Leftest imprimé dans le terminal.

Ie: Voici ma sortie lorsque j'essaie de naviguer avec CTRL+ Left:

~ $ test test ;5D;5D;5D

Curieusement, je peux toujours utiliser CTRL+ Left/ Righttrès bien dans VIM.

Juteux
la source
Pouvez-vous mettre quelque chose dans votre bashrc pour permettre cela? Parce que ça ne marche pas par défaut pour moi sur Ubuntu 15.10 ...
Martin Tournoij
Veuillez publier la sortie de grep bind ~/.bashrc . Recherchez-vous d'autres fichiers dans ~/.bashrc( grep source ~/.bashrc)?
kos
1
Juste curieux, mais quelle est la sortie de echo $0?
Aaron

Réponses:

15

Ouvrez le ~/.inputrcfichier et ajoutez les lignes suivantes:

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

Fermez et rouvrez le shell. Vous devriez maintenant pouvoir utiliser ces clés.

Raisons de ce comportement? Pas tout à fait certain. Pour une raison ou une autre, votre fichier a été basharrêté /etc/inputrc, mais il devrait être en train de lire celui de votre dossier de départ

Sergiy Kolodyazhnyy
la source
Je pense que ce problème a commencé pour moi lorsque j'ai créé un fichier ~ / .inputrc. Cela suffirait-il?
wjandrea
1
@wjandrea yep, je l'ai testé tout à l'heure. Avant que le blanc ne ~/.inputrcfonctionne correctement, bash a commencé à afficher les mêmes caractères de contrôle pour la sortie une fois le blanc ~/.inputrccréé. Supprimé - Ctrl + touches fléchées fonctionnent à nouveau. stracerévèle que s'il .inputrcexiste, bash ne lira pas /etc/inputrc. Je vais jouer avec cela un peu plus et mettre à jour ma réponse
Sergiy Kolodyazhnyy
1
Si vous ajoutez $include /etc/inputrcen haut de votre ~/.inputrcfichier, vous pouvez inclure le comportement à l'échelle du système, puis l'étendre.
Cory Gross