Je connais la combinaison Ctrl+ Apour sauter au début de la commande en cours, et Ctrl+ Epour sauter à la fin.
Mais existe-t-il un moyen de sauter mot à mot, comme le fait Alt+ ←/ →dans les applications Cocoa?
macos
terminal
keyboard-shortcuts
l'homme d'étain
la source
la source
ALT
raccourcis ont été ajoutés à Terminal dans la dernière version d'OS X.Réponses:
Hors de la boîte, vous pouvez utiliser le Esc+ assez bizarre Fpour passer au début du mot suivant et Esc+ Bpour passer au début du mot actuel.
la source
Esc
+F
à la fin d'une ligne ou sur l'autre combinaison de touches au début de la ligne, il insère simplement la lettre à la place. Ennuyeux!~/.inputrc
.Sous Mac OS X - les raccourcis clavier suivants fonctionnent par défaut. Notez que vous devez faire en sorte que la touche Option agisse comme Meta dans les préférences du terminal (sous l'onglet clavier)
J'ai observé que les raccourcis clavier emacs par défaut pour une navigation texte simple semblent fonctionner sur les shells bash. Vous pouvez utiliser
la source
+ESC
, alors vous pouvez utiliser OPTION f / b pour déplacer le mot en avant et en arrière en conséquence. PlusVoici comment vous pouvez le faire
Par défaut, le Terminal dispose de ces raccourcis pour se déplacer (gauche et droite) mot à mot:
Vous pouvez configurer alt+ ←et →générer ces séquences pour vous:
⌥ ←
s'il est là, ou ajoutez-le s'il ne l'est pas.\033b
(vous ne pouvez pas taper ce texte manuellement).\033f
)Alternativement, vous pouvez vous référer à cet article de blog sur textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
la source
B
pour le retour ouF
pour le transfert dans leEsc+
champalt left
etalt right
généré ces séquencesPassez à iTerm2 . C'est gratuit et beaucoup plus agréable que l'ancien terminal ordinaire. Il a également beaucoup plus d'options de personnalisation, comme les raccourcis clavier.
J'aime aussi que vous puissiez utiliser cmdet 1-9 pour basculer entre les onglets. Essayez-le et vous ne reviendrez jamais au terminal ordinaire :)
Comment configurer les préférences de clavier personnalisées dans iterm2
Je frappe souvent le mauvais bouton ( cmd/ control/ alt) avec une touche fléchée et j'ai donc mes combinaisons de touches fléchées avec ces boutons tous définis pour sauter en avant et en arrière des mots, mais veuillez faire ce qui vous convient le mieux.
la source
Ctrl + Arrow Left
ouRight
-Up
etDown
fonctionne: / essayé avec et sans le nouveau profil défini par défautEn fait, il existe une bien meilleure approche. Maintenez option( altsur certains claviers) et appuyez sur les touches fléchées gauche ou droite pour vous déplacer par mot. Aussi simple que cela.
option←
option→
Vous ctrleamènera également à la fin de la ligne et vous ctrlaamènera au début.
la source
[D
et[C
. Pour résoudre ce problème, ajoutezbind '"[D": backward-word'
etbind '"[C": forward-word'
à mon.bashrc
..bashrc
mais cela n'a pas fonctionné, quelque chose ne va pas pour moi? (J'utilise RubyMine).bashrc
démarrage du terminal. Essayez deecho "here"
voir si ce message s'affiche lorsque vous ouvrez un nouveau terminal. De plus, vous devez fermer et rouvrir le terminal ou l'exécutersource ~/.bashrc
pour qu'il lise le nouveau fichier.J'ai Alt+ ←/ →travail: ouvrir Préférences Réglages de Keyboard , définissez l'entrée pour le curseur de l' option gauche pour envoyer la chaîne à shell: \ 033b , et ensemble l' option curseur vers la droite pour envoyer chaîne à shell: \ 033F . Vous pouvez également l'utiliser pour d'autres combinaisons de touches de contrôle.
la source
Enable option as meta key
. Au fait, c'est très cool. La clé est sûrement beaucoup plus pratique à atteindre comparée à Esc + B ou Esc + FEn fait, cela dépend du shell que vous utilisez, mais la plupart des shells ont des liaisons similaires. Les liaisons auxquelles vous faites référence (par exemple Ctrl+ Aet Ctrl+ E) sont des liaisons que vous trouverez dans de nombreux autres programmes et elles sont utilisées 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:
Raccourcis clavier Bash les plus importants
Veuillez également noter que vous pouvez les personnaliser. Vous devez créer un fichier, nom comme vous le souhaitez, j'ai nommé le mien .bash_key_bindings et le mettre dans mon répertoire personnel. Là, vous pouvez 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 y effectuer l'appel suivant:
~ signifie répertoire personnel en bash, comme indiqué ci-dessus, vous pouvez nommer le fichier comme vous le souhaitez et le placer où vous le souhaitez tant que vous alimentez le bon chemin + le nom à lier.
Permettez-moi de vous montrer quelques extraits de mon fichier .bash_key_bindings:
Ceux-ci définissent simplement quelques options (par exemple, désactivez la cloche; tout cela peut être recherché sur la page Web de bash).
Ceux-ci s'assurent que les caractères seuls ne font rien mais s'assurent que le caractère est "tapé" (ils s'insèrent sur le shell).
C'est assez intéressant. Si je tape Ctrl+ Dseul (j'ai sélectionné d pour supprimer), rien ne se passe. Mais si je tape alors une minuscule w, le mot à gauche du curseur est supprimé. Cependant, si je tape des majuscules, le mot à droite du curseur est tué. Il en va de même pour l et L pour toute la ligne à partir du curseur. Si je tape un "a", la ligne entière est réellement supprimée (tout avant et après le curseur).
J'ai placé sauter un mot en avant sur Ctrl+ Fet un mot en arrière sur Ctrl+B
Comme vous pouvez le voir, vous pouvez créer un raccourci, qui mène immédiatement à une action, ou vous pouvez en créer un, qui ne fait que commencer une séquence de caractères, puis vous devez taper un (ou plusieurs) caractères pour qu'une action se déroule comme suit: montré dans l'exemple ci-dessus.
Donc, si vous n'êtes pas satisfait des fixations par défaut, n'hésitez pas à les personnaliser à votre guise. Voici un lien vers le manuel bash pour plus d'informations.
la source
command
code clé? Dans votre exemple,control
oui\C
, mais commentcommand
?Meta
dans bash (\M
), cmd + left serait\M-\e[D
. Cependant, vous ne pouvez pas mapper cmd + ... à quoi que ce soit, tous les raccourcis de commandes sont gérés (et donc avalés) par l'application Terminal elle-même (ceux qui ne sont jamais transmis au shell) et cmd + laisse les cartes à la "fenêtre précédente" si vous en avez plusieurs les fenêtres du terminal s'ouvrent. Désolé, ce n'est tout simplement pas possible avec l'application Terminal.Utilisez le préréglage d' édition de texte naturel !
Il lie essentiellement, entre autres séquences de touches, Option + Flèche gauche à la
^[b
séquence et Option + Flèche droite à la séquence^[f
Cela fonctionne dans fish et bash, ainsi que dans le terminal psql.
la source
Si vous êtes un utilisateur de Vim, vous pouvez essayer le mode vim de bash. Exécutez ceci ou mettez-le dans votre
~/.bashrc
fichier:Par défaut, vous êtes en mode insertion; appuyez sur Échap et vous pouvez vous déplacer comme vous le pouvez dans Vim en mode normal, donc le mouvement par mot est
w
oub
, et les touches de mouvement habituelles fonctionnent également .la source
Si vous vérifiez
Use option as meta key
dans l'onglet clavier des préférences, les commandes de style emacs par défaut pour les mots avant et arrière et⌥F
( Alt+ F) et⌥B
( Alt+ B) respectivement.Je recommanderais de lire From Bash to Z-Shell . Si vous voulez augmenter vos prouesses bash / zsh!
la source
A partir de Mac OS X Lion 10.7, Terminal cartes Option- Left/Right Arrowà Esc- b/fpar défaut, ceci est maintenant intégré pour bash et d' autres programmes qui utilisent ces raccourcis clavier emacs compatibles.
la source
Maintenez la touche Option enfoncée et cliquez à l'endroit où vous souhaitez déplacer le curseur
la source
Dans Bash, ceux-ci sont liés à Esc- Bet Esc- F. Bash a beaucoup, beaucoup plus de raccourcis clavier; jetez un oeil à la sortie de
bind -p
pour voir ce qu'ils sont.la source
Sous
iterm2
de » Préférences> Profil> Touches , vous cliquez sur le+
dessous Affectations de touches et d' enregistrer un nouveau raccourci. Pour l' action , sélectionnezSend Escape Sequence
et tapezb
ouf
pour en arrière et en avant respectivement.Lorsque j'ai essayé d'en enregistrer un pour ( Ctrl+ ←), j'ai remarqué dans le champ Raccourci clavier que la flèche ne s'affichait jamais. Il s'est avéré que je devais d'abord désactiver les préférences système par défaut du Mac > Clavier> Raccourcis> Raccourcis Mission Control pour que les choses fonctionnent, car ils remplaceront les raccourcis par défaut d'iterm2. Cela devrait également être vrai pour l'application de terminal standard.
la source
Nouvelle réponse pour les utilisateurs iTerm2 Build 3.3.4:
Étape 1: (macOS X) Préférences Système> Clavier> onglet Raccourcis> Sélectionnez Mission Control (panneau de gauche)> Décochez les raccourcis étiquetés "Déplacer vers la gauche d'un espace" et "Déplacer vers la droite d'un espace"
Étape 2: (iTerm2 Build 3.3.4) Préférences> Profils> Sélectionner * Par défaut (panneau de gauche)> onglet Clés> Supprimer les entrées "⌥->" et "⌥ <-"> Définir les deux "Option de gauche (⌥) Touche: "et" Touche droite (⌥): "vers Esc +
Pas de problème avec les profils de coque, pas de problème avec le terminal masOS inférieur (par défaut), pas d'Esc + F / B maladroit, rincez et répétez le non-sens.
Terminé!
Profitez de cette astuce, mes collègues PROGRAMMATEURS!
la source
Comme indiqué précédemment, vous pouvez ajouter
set -o vi
votre~/.bashrc
pour utiliser les liaisonsvi
/vim
touches, ou bien vous pouvez ajouter la partie suivante dans.bashrc
pour vous déplacer avec lesCtrl
touches fléchées et:Pour démarrer l'effet de ces lignes de code, vous pouvez
source ~/.bashrc
soit démarrer une nouvelle session de terminal.la source