Je me retrouve souvent à écrire de longues commandes dans le shell bash - des choses avec de nombreux arguments, des adresses Web, des routes, etc. et ainsi de suite. De temps en temps, je me rendrai compte que j'ai oublié, disons, de mettre mon "bundle exec" au début de la commande, ou quelque chose mal orthographié, ou oublié des guillemets. Ou quelque chose d'aussi simple que de mettre "cd" au lieu de "vim".
Ainsi commence le processus fastidieux de maintenir la touche flèche gauche jusqu'à ce que je revienne au début de la commande.
Existe-t-il un moyen de revenir au début de la ligne?
Réponses:
En plus de ^ A et ^ E, vous pouvez faire
Voir le manuel bash pour les commandes de déplacement .
la source
emacs
option à vos shellopts, vous pouvez en obtenir un peu plus.Vous pouvez utiliser les commandes Emacs, par exemple:
C'est bash, pas spécifique à Mac.
la source
Puis Escsuivi de
^début de ligne $fin de ligne bun mot en arrière wmot un mot en avant
la source
i
(insérer) pour taper avant le curseur oua
(ajouter) pour taper après le curseur.v
touche irritante en mode vi). Mais après un certain temps, je viens d'être infecté par vim, je vous suggère donc de l'essayer: PCela ne répond pas à votre question mais cela peut résoudre votre problème dans certains cas.
Dans
bash
le!!
jeton est remplacé par votre commande précédente. Donc, si vous oubliez d'ajouter quelque chose au début d'une commande (commesudo
), vous pouvez faire quelque chose comme çala source
Vous pouvez configurer les
Ctrl/Opt+Left/Right
raccourcis réguliers à utiliser dans Terminal. De cette façon, vous n'avez pas à tout réapprendre lorsque vous utilisez Terminal.Ouvrez Terminal »Préférences…» Paramètres »(sélectionnez un profil)» Clavier .
Là, attribuez les raccourcis suivants:
Control + Cursor Left
: Envoyer une chaîne\033[1~
au shellControl + Cursor Right
: Envoyer une chaîne\033[4~
au shellOption + Cursor Left
: Envoyer une chaîne\033[5D
au shellOption + Cursor Right
: Envoyer une chaîne\033[5C
au shellJ'aime aussi ce qui suit (
Fn + Left/Right
):Home
: Envoyer une chaîne\033[1~
au shellEnd
: Envoyer une chaîne\033[4~
au shellla source
M-b
etM-f
par défaut. Et ⌃ ← et ⌃ → sont les raccourcis par défaut pour changer les espaces.J'en avais besoin dans Cygwin, pas sur un Mac, mais l'ajout de ce qui suit
~/.inputrc
peut aussi aider:la source
Je ne suis pas un utilisateur Mac mais qu'en est-il de la Homeclé? Cela fonctionne bien sur un terminal Linux.
la source
La meilleure façon de se déplacer sur la ligne de commande dans Mac Os X est d'utiliser mon profil: https://github.com/lingtalfi/mac-terminal-shortcuts
Il fournit les raccourcis (intuitifs) suivants:
la source