53 votes

Comment faire pour le début et la fin dans iterm2 ?

Home y End ne font rien dans iTerm2, pas plus que les et .

Cependant, Ctrl- A et Ctrl- E faire le travail.

Can Home y End faire ça ?

Préférences->Keys_Combinaisons de touches dans iTerm2 ne proposent pas d'option "Début de ligne" ou "Fin de ligne".

En rapport : 1 , 2

76voto

Douglas Points 10417

^ ControlA y ^ ControlE sont des raccourcis clavier dans Bash et ZSH, pas dans iTerm (ou Terminal).

Si vous voulez des liaisons personnalisées dans iTerm, vous devrez lier la séquence de clavier réelle dans le keybinding. "Début de ligne" et "Fin de ligne" sont des descripteurs, et non les frappes de touches réelles.

Donc, pour faire cela, vous devriez envoyer ^ ControlA para Home via leur Codes hexagonaux . Dans ce cas, les codes seraient 0x01 pour "début de texte" (^A) et 0x05 pour "ENQ" (^E).

Dans l'image ci-dessous, vous pouvez ajouter une nouvelle liaison dans la section Préférences - Touches - Liaisons de touches

  1. Cliquez sur + pour ajouter une nouvelle liaison
  2. Cliquez sur Enregistrer dans la boîte de dialogue
  3. Appuyez sur la touche de votre choix ( Home dans ce cas).
  4. Sélectionnez votre action (vous pouvez faire défiler ou rechercher). Sélectionnez "Envoyer le code hexadécimal".
  5. Entrez le code hexadécimal (0x01 pour "début du texte").
  6. Testez-le !

iTerm2 Keybinding Home to ^A

62voto

tvs Points 271

La solution acceptée proposée par Allan n'est pas optimale, car cette combinaison de touches affecte *TOUTES* les applications exécutées sur le terminal et ce remappage de touches signifierait que certaines applications ne fonctionneraient pas comme prévu :

Par exemple, si vous utilisez ' vi ' alors les clés ' Accueil et Fin ne fonctionnent plus après cette combinaison de touches (ces touches fonctionnent correctement si vous ne faites pas la combinaison de touches proposée).

Une meilleure solution consiste à effectuer le mappage des clés sur le shell lui-même :

Dans zsh (l'interpréteur de commandes par défaut utilisé par MacOS de nos jours), ajoutez simplement ceci dans ~/.zshrc :

bindkey '\e[H'    beginning-of-line
bindkey '\e[F'    end-of-line

et Accueil y Fin fonctionneront correctement à la fois dans la ligne de commande et dans l'interface utilisateur. vi

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X