573 votes

Comment définir des raccourcis clavier pour sauter au début/à la fin d'une ligne ?

Je peux voir que Ctrl + left / right saute au début/à la fin de la ligne. Comment changer cela en Cmd + left / right arrow ?

1 votes

1 votes

Si vous souhaitez que ces raccourcis fonctionnent également dans VIM, consultez cette réponse : stackoverflow.com/a/9611698/991068

973voto

nivoc Points 1704

Ajoutez dans iTerm2 les touches de raccourci de profil suivantes

POUR

ACTION

ENVOYER

"ENVOYER UN CODE HEXAGONAL"

0x01

"ENVOYER UN CODE HEXAGONAL"

0x05

"SEND ESC SEQ"

b

"SEND ESC SEQ"

f

Voici un visuel pour ceux qui en ont besoin

iTerm add key visual

3 votes

Savez-vous quel est le code/séquence pour Commande+Suppression ? (effacer l'invite)

12 votes

J'ai répondu à mon premier commentaire ailleurs, en gros le code hexadécimal 0x15 donne Ctrl+U qui efface la ligne. Cependant, je trouve que le code 0x01 Ctrl+A interfère avec l'utilisation de Tmux. J'ai donc l'intention de l'associer à la touche Home (même fonctionnalité que Fn+Gauche sur un clavier Mac).

7 votes

La séquence d'échappement pour Home est [1~ et la séquence d'échappement pour End est [4~].

812voto

sqren Points 981

Pour sauter entre les mots et le début/la fin des lignes dans iTerm2, choisissez un des deux solutions ci-dessous.

1. Solution simple (recommandée)

  1. Ouvrir les préférences
  2. Cliquez sur l'onglet "Profil".
  3. Sélectionnez un profil dans la liste à gauche (par exemple "Default") et cliquez sur l'onglet "Keys".
  4. Cliquez sur le menu déroulant "Presets" et sélectionnez "Natural Text Editing".

enter image description here

Remarque : si vous avez plusieurs profils (par exemple Default et Hotkey Window) et que vous souhaitez que la même modification soit appliquée à tous les profils, utilisez plutôt ces étapes :

  1. Cliquez sur l'onglet "Clés".
  2. Choisissez "Key Bindings" (liaisons de touches)

2. Mappage manuel des touches (Avancé)

Si vous ne souhaitez pas utiliser la présélection "Édition de texte naturel" mentionnée ci-dessus, vous pouvez mapper manuellement les touches dont vous avez besoin :

  1. Ouvrir les préférences
  2. Cliquez sur l'onglet "Clés".
  3. Cliquez sur le bouton [+] icône

Vous pouvez maintenant ajouter les raccourcis clavier suivants :

Déplacer le curseur d'un mot vers la gauche

  • Raccourci clavier : +
  • Action : Envoyer le code hexadécimal
  • Code : 0x1b 0x62

enter image description here

Déplacer le curseur d'un mot vers la droite

  • Combinaison de claviers : +
  • Action : Envoyer le code hexadécimal
  • Code : 0x1b 0x66

Déplacer le curseur au début de la ligne

  • Combinaison de claviers : +
  • Action : Envoyer le code hexadécimal
  • Code : 0x01

Déplacer le curseur à la fin de la ligne

  • Combinaison de claviers : +
  • Action : Envoyer le code hexadécimal
  • Code : 0x05

Supprimer le mot

  • Combinaison de claviers : + Delete
  • Action : Envoyer le code hexadécimal
  • Code : 0x1b 0x08

Supprimer la ligne

  • Combinaison de claviers : + Delete
  • Action : Envoyer le code hexadécimal
  • Code : 0x15

Annuler

  • Combinaison de claviers : + z
  • Action : Envoyer le code hexadécimal
  • Code : 0x1f

N'oubliez pas de supprimer les liaisons précédentes :

  • Ouvrez l'onglet "Profils".
  • Cliquez sur le sous-onglet "Clés".
  • Supprimer les mappages des combinaisons de touches + et +

4 votes

Cela a bien fonctionné pour moi dans l'iTerm2 et a été très facile à suivre, merci !

5 votes

Juste pour clarifier, à quoi servent les fixations d'origine ? Je le vois Says send Hex Codes: 0x1b 0x1b 0x5b 0x44 . Il serait bon de le savoir au cas où les gens ne voudraient pas le supprimer.

3 votes

Est-ce que iTerm a un moyen de les regrouper dans un preset que nous pouvons simplement charger ? Cela semble ennuyeux de les taper manuellement mais cela a fonctionné pour moi et c'était génial. Merci a lto !

54voto

johntex Points 734

Pour une référence rapide de quiconque veut aller à la fin de la ligne ou au début de la ligne dans iTerm2, le lien ci-dessus http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word-in-iterm.html note que dans iTerm2 :

  • Ctrl + A saute au début de la ligne, tandis que
  • Ctrl + E Il saute à la fin de la ligne.

2 votes

Pourquoi cette réponse n'est-elle pas en tête de liste ?

3 votes

@GangadharJannu : Totalement d'accord. Cela va directement aux personnes âgées. Il devrait être en haut de la page.

0 votes

Je savais que le ctrl + A pour arriver au début de la ligne mais ne pouvait pas trouver la fin de la ligne. ceci doit être marqué comme réponse.

50voto

Jaime Bellmyer Points 13815

Suivez le tutoriel que vous avez indiqué ci-dessus pour configurer vos préférences de clés dans iterm2 .

  1. Créer une nouvelle clé de raccourci
  2. Choisissez "Envoyer la séquence d'échappement" comme action
  3. Ensuite, pour mettre cmd-gauche dans le texte qui suit :
    • Entrez [H pour départ en ligne
      OU
    • Entrez [F pour fin de ligne

1 votes

F ne saute qu'un seul mot dans mon iterm2

1 votes

ITerm => Préférences => Clés

0 votes

J'adore ça ! Les autres solutions n'ont pas fonctionné pour moi. J'ai passé des heures à être frustré de ne pas pouvoir utiliser ctrl+a et ctrl+e dans iterm2. Mais je ne voulais pas abandonner le poisson pour cela. Cela fonctionne totalement merci !

11voto

Nerdwood Points 703

Juste pour aider ceux qui ont le même problème, mais en utilisant spécifiquement le shell Zsh avec iTerm 2. Il s'avère que Zsh ne lit pas /etc/inputrc correctement et ne comprend donc pas les combinaisons de touches que vous avez configurées dans les préférences !

Pour remédier à cela, vous devez ajouter des liaisons de touches à vos .zshrc tel que :

# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line

Notez les antislashes dans l'exemple ci-dessus avant le "e", l'article lié ne les montre pas, donc ajoutez-les dans votre .zshrc lors de l'ajout de liaisons.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X