22 votes

Équivalent en terminal OS X de Ctrl+Gauche / Ctrl+Droit

Sous Windows et Linux, je pouvais toujours taper ctrl + ou ctrl + pour sauter un mot à gauche ou à droite dans le terminal. Dans les éditeurs de texte, il semble que + / fonctionne, mais pas dans le terminal. J'ai cherché sur Google et je n'ai rien trouvé, à part une page Wikipédia qui prétend que + B / F fait le travail, mais tout ce qu'il fait, c'est d'imprimer les caractères et ƒ sur mon terminal (ou et Ï si je maintiens le bouton de la souris enfoncé). ). Avez-vous des idées ?

22voto

adamrmcd Points 1420

Cela me rendait fou aussi, mais je ne voulais pas d'un correctif spécifique à Terminal, car je n'utilise pas Terminal, et pour pouvoir se connecter en SSH à ma boîte OSX, il fallait aussi utiliser les bons raccourcis clavier.

Aussi, personnellement, je ne me suis pas soucié de la comme nous l'avons vu plus haut ; je voulais conserver la touche ctrl + / que j'ai l'habitude d'utiliser sous Linux.

Pour résoudre ce problème, j'ai ajouté ce qui suit à mon fichier ~/.profile :

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

Notez que les deux premiers s'appliquent à bash dans Terminal ; les deux derniers s'appliquent à bash dans iTerm2 y ssh entrant connexions. Ne me demandez pas pourquoi l'émulation du clavier est différente ;)

Pour l'anecdote, j'ai pu trouver quels étaient les codes clés grâce à un conseil de cette réponse de stackoverflow : Vous pouvez exécuter cat > /dev/null pour surveiller les codes de touche exacts envoyés lors d'une combinaison de touches.

(Notez que pour moi, lorsque j'exécute cat > /dev/null et appuyez sur ctrl + il produit ^[[1;5D . Votre code clé exact peut être différent mais le premier ^[ est représenté par \e comme le montre mon exemple de code).

BTW, si vous voulez voir toutes les combinaisons de touches actives de bash, exécutez bind -p .

13voto

mipadi Points 2272

Vous pouvez utiliser le mais vous devez sélectionner l'option permettant de l'utiliser comme clé "méta" : alt text

Une fois que tu as fait ça, + F y + B fonctionnera comme vous le souhaitez.

6voto

Chris Page Points 7394

À partir de Mac OS X Lion 10.7, les cartes Terminal - / à esc + B / F par défaut, donc c'est maintenant intégré pour bash et les autres programmes qui utilisent ces combinaisons de touches compatibles avec emacs.

5voto

Shawn Points 8120

Si vous savez utiliser vi, vous pouvez également activer le mode d'édition de ligne vi en utilisant set -o vi dans votre .bash_profile ou à tout moment sur la ligne de commande. Vous pouvez alors passer du mode commande au mode insertion de vi. Vous pouvez donc appuyer sur Echap, puis utiliser les commandes vi pour naviguer sur la ligne :

0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word

Une fois que vous avez atteint la bonne position, vous pouvez utiliser les autres commandes vi pour passer en mode insertion ou ajout, ou supprimer les caractères un par un, etc.

4voto

berberich Points 255

Ouvrez le terminal, allez dans les préférences, le clavier. Dans la liste, vous trouverez "ctrl curseur droit" et "ctrl curseur gauche".
Changez leurs actions assignées en " \033f " et " \033b " respectivement, et vous serez en mesure d'utiliser ctrl + y ctrl + pour bouger, sans perdre votre touche alt.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X