Question Est-il possible dans le terminal OS X de déplacer le curseur mot par mot?


Je connais la combinaison Ctrl+UNE pour passer au début de la commande en cours, et Ctrl+E sauter à la fin.

Mais y a-t-il un moyen de sauter mot à mot, comme Alt+/ dans les applications de cacao fait?


674
2017-09-17 08:57


origine


Réponses:


Hors de la boîte, vous pouvez utiliser le très bizarre Esc+F pour passer au début du mot suivant et Esc+B pour passer au début du mot actuel.


479
2017-09-17 09:04



Sur Mac OS X - les raccourcis clavier suivants fonctionnent par défaut. Notez que vous devez faire Option acte clé comme Meta dans les préférences Terminal (sous l'onglet du clavier)

  • alt (⌥)+F sauter Fouward par un mot
  • alt (⌥)+B sauter BAckward par un mot

J'ai observé que les raccourcis clavier emacs par défaut pour la navigation simple dans le texte semblent fonctionner sur les shells bash. Vous pouvez utiliser

  • alt (⌥)+ supprimer un mot à partir de la position actuelle du curseur
  • ctrl+UNE sauter au début de la ligne
  • ctrl+E sauter à la fin de la ligne
  • ctrl+K tuer la ligne à partir de la position du curseur
  • ctrl+Y coller du texte à partir du tampon de destruction
  • ctrl+R pour inverser la recherche de commandes que vous avez tapées dans le passé de votre historique
  • ctrl+S faire avancer la recherche (fonctionne en zsh pour moi mais pas bash)
  • ctrl+F avancer par un char
  • ctrl+B reculer d'un caractère
  • ctrl+W pour retirer le mot en arrière de la position du curseur

338
2018-04-04 19:00



Voici comment vous pouvez le faire

Par défaut, le Terminal dispose de ces raccourcis pour se déplacer mot à mot (gauche et droite):

  • Esc+B (la gauche)
  • Esc+F (droite)

Vous pouvez configurer alt+ et  pour générer ces séquences pour vous:

  • Ouvrir les préférences du terminal (cmd+,)
  • Dans l'onglet Paramètres, sélectionnez Clavier et double-cliquez ⌥ ← si c'est là, ou ajoutez-le si ce n'est pas le cas.
  • Définissez le modificateur comme vous le souhaitez et tapez la touche de raccourci dans la zone: Esc+B, générant le texte \033b (vous ne pouvez pas taper ce texte manuellement).
  • Répétez pour mot-droit (Esc+F devient \033f)

Alternativement, vous pouvez vous référer à cet article sur textmate:

http://blog.macromates.com/2006/word-movement-in-terminal/


264
2017-09-17 09:01



Basculer vers iTerm2. C'est gratuit et beaucoup plus agréable que le vieux terminal. En outre, il a beaucoup plus d'options pour la personnalisation, comme les raccourcis clavier.

Aussi j'aime que tu puisses utiliser cmd et 1-9 pour basculer entre les onglets. Essayez-le et vous ne reviendrez jamais au terminal régulier :)

Comment configurer les préférences de clavier personnalisées dans iterm2

  • Installez iTerm2
  • Lancez puis accédez au volet de préférences.
  • Choisissez l'onglet Profils de clavier
  • Vous devrez soit copier le profil à quelque chose de nouveau, puis supprimer les raccourcis de la touche fléchée tels que ^+ Droite/La gauche ou si vous ne vous souciez pas d'une sauvegarde, supprimez-les du profil par défaut.
  • Ensuite, assurez-vous que votre profil modifié est sélectionné (étoilé)

Picture 1.png

  • Maintenant, choisissez l'onglet du clavier (très haut)

iTerm 2

  • Cliquez sur le bouton plus pour ajouter un nouveau raccourci clavier
  • Dans le premier type de boîte CMD+Flèche gauche
  • Dans la deuxième case, choisissez "envoyer le code d'échappement"
  • Dans la troisième case, tapez la lettre B

Picture 2.png

  • Répétez avec les combinaisons de touches souhaitées. échapper+B déplace un mot vers la gauche, échapper+F déplace un mot vers la droite.
  • vous pouvez également configurer cmd+ supprimer le mot devant le curseur avec échapper+

Je tape souvent sur le mauvais bouton (cmd / contrôle / alt) avec une touche fléchée et donc j'ai mes combinaisons de touches fléchées avec ces boutons tous ensemble pour sauter en avant et en arrière des mots, mais s'il vous plaît faites ce qui vous convient le mieux.


147
2017-11-24 00:39



En fait, il y a une bien meilleure approche. Tenir option ( alt sur certains claviers) et appuyez sur les flèches gauche ou droite pour vous déplacer par mot. Aussi simple que cela.

option
option

Aussi ctrle vous emmènera à la fin de la ligne et ctrlune vous emmènera au début.


135
2017-12-08 17:55



j'ai Alt+/ travail: ouvert Préférences »Paramètres» Clavier, définissez l'entrée pour option curseur à gauche à envoyer une chaîne à shell: \ 033b, Et mettre option curseur droit à envoyer une chaîne à shell: \ 033f. Vous pouvez également l'utiliser pour d'autres combinaisons de touches de contrôle.


76
2017-09-17 09:03



En fait, cela dépend de la coque que vous utilisez, mais la plupart des shells ont des fixations similaires. Les liaisons auxquelles vous faites référence (par ex. Ctrl+UNE et Ctrl+E) sont des liaisons que vous trouverez dans de nombreux autres programmes et ils sont utilisés depuis des lustres, BTW fonctionne également dans la plupart des applications d'interface utilisateur.

Voici un aperçu des liaisons par défaut pour Bash:

Les raccourcis clavier les plus importants de Bash

S'il vous plaît noter également que vous pouvez les personnaliser. Vous devez créer un fichier, nommer comme vous le souhaitez, j'ai nommé le mien .bash_key_bindings et le mettre dans mon répertoire personnel. Vous pouvez y définir des options bash générales et vous pouvez également définir des raccourcis clavier. Pour vous assurer qu'ils sont appliqués, vous devez modifier un fichier nommé ".bashrc" que bash lit au démarrage (vous devez le créer, s'il n'existe pas) et lancez l'appel suivant:

bind -f ~/.bash_key_bindings

~ signifie répertoire de base dans bash, comme indiqué ci-dessus, vous pouvez nommer le fichier comme vous le souhaitez et également le placer où vous voulez tant que vous alimentez le bon chemin + nom à lier.

Permettez-moi de vous montrer quelques extraits de mon fichier .bash_key_bindings:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

Ceux-ci définissent juste quelques options (par exemple désactiver la cloche, tout cela peut être consulté sur la page web bash).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

Ceux-ci s'assurent que les caractères seuls ne font rien mais s'assurent que le caractère est "tapé" (ils insèrent eux-mêmes sur le shell).

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

C'est très intéressant. Si je frappe Ctrl+ seul (j'ai sélectionné d pour supprimer), rien ne se passe. Mais si je tape ensuite en minuscule w, le mot à gauche du curseur est effacé. Si je tape une majuscule, cependant, le mot à la droite du curseur est tué. Idem pour l et L pour toute la ligne à partir du curseur. Si je tape un "a", toute la ligne est effacée (tout avant et après le curseur).

J'ai placé un saut en avant sur Ctrl+F et un mot en arrière sur Ctrl+B

"\C-f": forward-word
"\C-b": backward-word

Comme vous pouvez le voir, vous pouvez créer un raccourci, qui mène à une action immédiatement, ou vous pouvez en créer un, juste une séquence de caractères et ensuite vous devez taper un (ou plusieurs) caractères pour provoquer une action comme montré dans l'exemple ci-dessus.

Donc, si vous n'êtes pas satisfait des fixations par défaut, n'hésitez pas à les personnaliser comme vous le souhaitez. Voici un lien vers le manuel de bash pour plus d'informations.


37
2017-09-17 21:19