Sous Windows et Linux, je pouvais toujours appuyer sur ctrl+ ←ou ctrl+ →pour sauter un mot vers la gauche ou la droite dans le terminal. Dans les éditeurs de texte, il semble que ⌥+ ←/ →fonctionne, mais pas de dés dans le terminal. J'ai cherché sur Google et je n'ai rien trouvé, sauf une page Wikipédia qui prétend ⌥+ B/ Ffait le travail, mais tout ce qu'il fait, c'est imprimer les caractères ∫ et ƒ sur mon terminal (ou ı et Ï si je tiens ⇧). Des idées?
19
Cela me rendait fou aussi, mais je ne voulais pas de correctif spécifique à Terminal car je n'utilise pas Terminal, et pour pouvoir SSH dans ma boîte OSX, il fallait aussi utiliser les raccourcis clavier appropriés.
Aussi, personnellement, je ne me souciais pas de la ⌥clé comme discuté plus tôt; Je voulais conserver la combinaison ctrl+ ←/ à →laquelle je suis habitué sous Linux.
Pour résoudre ce problème, j'ai ajouté ce qui suit à mon
~/.profile
:Notez que les deux premiers s'appliquent à bash dans Terminal ; les deux derniers s'appliquent à bash dans iTerm2 et aux connexions ssh entrantes . Ne me demandez pas pourquoi l'émulation du clavier est différente;)
Pour mémoire, j'ai pu trouver ce que les codes clés étaient réellement grâce à un indice de cette réponse stackoverflow : vous pouvez exécuter
cat > /dev/null
pour surveiller les codes clés exacts envoyés lors d'une combinaison de touches.(Notez que pour moi, lorsque je lance
cat > /dev/null
et appuie sur ctrl+, ←cela produit^[[1;5D
. Votre code clé exact peut différer , mais le premier^[
est représenté comme\e
, comme indiqué dans mon exemple de code.)BTW, si vous voulez voir tous les raccourcis clavier bash actifs, exécutez
bind -p
.la source
xxd
pour examiner la saisie au clavier. Vous pouvez voir le caractère affiché lorsque vous le tapez, puisxxd
émet la valeur en hexadécimal lorsque vous tapez retour.À partir de Mac OS X Lion 10.7, Terminal mappe ⌥- ←/ →vers esc+ B/ Fpar défaut, il est donc désormais intégré pour bash et d'autres programmes qui utilisent ces raccourcis clavier compatibles emacs.
la source
si vous savez comment utiliser vi, vous pouvez également activer le mode d'édition de ligne vi en utilisant
set -o vi
votre.bash_profile
ou à tout moment sur la ligne de commande. Ensuite, vous pouvez basculer entre les modes de commande vi et d'insertion. Vous pouvez donc appuyer sur Échap, puis utiliser les commandes vi pour naviguer sur la ligne:Une fois que vous arrivez à la bonne position, vous pouvez utiliser les autres commandes vi pour entrer dans les modes d'insertion ou d'ajout, ou supprimer des caractères un par un, etc.
la source
ESC ^
c'est génial quand vous en avez besoin, ce n'est ennuyeux que lorsque vous vouliez faire autre chose entièrement :)Ouvrez le terminal, accédez aux préférences, au clavier. Dans la liste, vous trouverez «Ctrl Curseur à droite» et «Ctrl Curseur à gauche».
Modifiez leurs actions attribuées respectivement à «\ 033f» et «\ 033b», et vous pourrez utiliser ctrl+ →et ctrl+ ←pour vous déplacer, sans perdre votre touche alt.
la source
Il semble que esc+ Bet esc+ Fsoient mappés par défaut pour aller au début et à la fin des mots. Cependant, pour mon système, vous ne pouvez pas maintenir enfoncé, escmais vous devez le ré-appuyer pour chaque mot.
la source
La dernière version du système d'exploitation mappe cela aux espaces. Même si vous avez désactivé les espaces, les raccourcis clavier peuvent toujours être court-circuités dans cet emplacement caché:
Touches de curseur Terminal.app: désactivez les Préférences Système -> Raccourcis -> Mission Control -> Déplacer vers la gauche d'un espace
la source