Les touches home
et end
d’un MacBook Pro peuvent être émulées avec les touches fn + flèche gauche ou fn + flèche droite. Ou, lorsque certains paramètres sont modifiés, avec la touche de commande (Apple) au lieu de fn.
Aucun de ces travaux dans Terminal.
Comme j'ai souvent besoin d'aller au début ou à la fin de la ligne et que je voudrais aussi avancer ou reculer mot par mot.
Comment puis-je sauter sur une ligne dans un terminal?
Pour répondre à la question sur la façon d’obtenir le début ou la fin de la ligne, il apparaît que, par défaut, Terminal mappe ces clés sur celle-ci:
Si vous voulez que le travail soit normal et que vous travailliez de manière "normale" (sans nécessiter de décalage), accédez à [Menu Terminal] → Préférences → onglet Profils (ou aux paramètres de certaines versions d'OS X) → Sous-onglet Clavier.
Puis modifiez / ajoutez ces clés comme suit: "envoyer la chaîne au shell"
\033[H
\033[F
Vous pouvez obtenir la
\033
pièce en appuyant sur la touche Échap dans l'entrée de la boîte de dialogue d'édition, si vous devez l'ajouter.Ensuite, la maison et la fin fonctionnent à nouveau normalement (ouf).
Notez également que "alt + ←" et "alt + →" par défaut dans le terminal correspondent aux mots gauche et droit, un autre combo très utile à retenir.
Dans les versions ultérieures de Mac OS X, si l'écran du terminal est déplacé vers le haut ou le bas lorsque vous appuyez sur la touche d'accueil / fin, il peut être nécessaire de définir
\033[1~
la clé d'origine et la touche de fin\033[4~
pour obtenir les résultats souhaités (aucun décalage requis). .N'hésitez pas à modifier cette réponse pour ajouter des liaisons de clés plus utiles, car il s'agit d'un wiki de communauté.
la source
On dirait que vous cherchez de l'aide pour utiliser readline et bash, voici une liste insensée d'éléments de clavier modifiés à partir de: http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Déplacer au début de la ligne.
Ctrle Aller au bout de la ligne.
Escf Avancer d'un mot.
Escb Reculer d'un mot.
Ctrll Efface l'écran en réimprimant la ligne actuelle en haut.
Ctrlk Élimine le texte de la position actuelle du curseur à la fin de la ligne.
Escd Tue depuis le curseur jusqu'à la fin du mot en cours ou, entre deux mots, jusqu'à la fin du mot suivant.
EscDel Supprimez du curseur le début du mot précédent, ou s'il se trouve entre des mots, jusqu'au début du mot précédent.
Ctrlw Tuer du curseur au blanc précédent. C'est différent EscDelCtrla parce que les limites de mots diffèrent.
Ctrld Supprimer le caractère sous le curseur.
Ctrl_ Annuler la dernière chose que vous avez faite. Vous pouvez annuler tout le chemin pour revenir à une ligne vide.
Et, voici comment ramener le texte dans la ligne. Yanking signifie copier le texte le plus récemment tué du tampon de suppression.
Ctrly Ramenez le texte le plus récemment tué dans la mémoire tampon au niveau du curseur.
Escy Faites pivoter la bague de mise à mort et tirez sur le nouveau sommet. Vous ne pouvez le faire que si la commande précédente est Ctrlyou Escy.
la source
Pour ceux qui préfèrent utiliser les touches fléchées, appuyer sur fnShift+ Left Arrowvous ramènera à la maison en ligne de commande. De même, fnShift+ vous Right Arrowmènera à la fin.
la source
Vous pouvez déplacer un mot à la fois avec option+ leftet option+ right.
Concernant l’utilisation de homeet end, les liaisons par défaut du terminal sont les suivantes:
Dans de nombreuses autres applications de terminal (sur plusieurs plates-formes), les paires modifiées et non modifiées sont inversées (c.-à-d. Nues homeet endsont utilisées pour sauter autour de la ligne actuelle et les versions modifiées (que ce soit par shiftou autre) sont utilisées pour naviguer dans la mémoire tampon de défilement. ) Vous pouvez inverser les liaisons du terminal pour fonctionner de cette façon si vous le souhaitez en procédant comme suit:
Allez dans le menu Terminal → Préférences → Paramètres / onglet Profil → sous-onglet Clavier.
Puis modifiez les paires clé-action pour qu'elles soient les suivantes:
Remarque: \ 033 est entré dans la zone de texte à envoyer de la boîte de dialogue Modifier en appuyant sur la touche d'échappement.
Alors que vous y êtes, vous voudrez peut-être échanger de la même façon les liaisons de modification et non modifiées page upet page down, par souci de cohérence, appuyer sur une touche de navigation avec shiftreprésente une commande pour le terminal lui-même (pour naviguer dans le tampon de défilement comme un document), tout en appuyant sur une touche de navigation envoie la pression de touche jusqu'à ce que s'exécute au sein de ce (par exemple
bash
,less
,nano
,screen
, etc.). Les paires clé-action pour cela sont:la source
Les autres réponses sont excellentes et plus transférables, mais voici "la méthode OS X" pour un clavier classique (contrairement à de nombreux autres terminaux). Essayez ce qui suit:
ShiftHome- Début de ligne
ShiftEnd- Fin de ligne
De http://www.greenend.org.uk/rjk/tech/macbits.html
la source
La cartographie homeet les endtouches avec les fonctionnalités souhaitées résoudront facilement le problème.
De nombreuses réponses ont été publiées, mais dans le cas où vous utilisez
zsh
, vous pouvez définir homeà:et mis endà:
en cliquant sur préférence - profil - clavier.
la source
C’est le moyen le plus efficace de le faire fonctionner également avec vim. Allez dans Terminal -> Préférences -> Profils -> Clavier et ajoutez:
Touche: ↖ Action: \ 033OH
Touche: ↗ Action: \ 033OF
la source
J'aimerais proposer une solution alternative à ce problème. Cela fonctionne très bien si vous êtes un utilisateur vi. Les liaisons de touches Vim dans Terminal permettent d’utiliser votre terminal dans un style vim. Vous pouvez le faire en tapant un
set -o vi
terminal et n'hésitez pas à le mettre.bash_profile
si vous le souhaitez. Après cela, votre terminal devient un éditeur vim. Vous pouvez utiliseresc
key pour passer en mode commande et vous déplacer de manière vim. Par exemple,0
vous amène au début et$
vous amène à la fin. Vous pouvez également utiliserI
etA
pour aller au début et à la fin et passer tout de suite en mode édition.w
etb
vous permettent d'avancer et de reculer d'un mot. Et si vous essayez de passer en mode visuel en appuyant surv
, vous recevrez un éditeur vim et le texte que vous avez lorsque vous quitterez cet éditeur sera exécuté dans le terminal.Sachez que cette liaison de clé vim annule toutes les touches de raccourci que vous avez apprises à partir d'autres réponses.
la source
voici la liste sous forme imprimable, comme vous le souhaitez :)
http://pastebin.com/uCqwn7qs
J'ai aussi corrigé un "bug" dans la description. Voici ce que vous pouviez lire dans les instructions:
ESC-d Supprime du curseur le début du mot précédent ou, entre deux mots, jusqu'au début du mot précédent.
Cela sent fort comme une erreur de couper-coller, puisque les deux phrases partielles disent la même chose. En clair, la première moitié doit en réalité lire "du curseur au début du mot actuel".
la source
la source