Question Comment puis-je obtenir le contrôle + flèche gauche pour revenir d'un mot dans iTerm2?


Je lisais dans le manuel de Linux et j'ai remarqué que je pouvais utiliser les boutons control + left et control + right pour avancer ou reculer dans le terminal pendant l'édition.

"Appuyez sur Ctrl plus la flèche gauche ou droite pour reculer ou avancer un mot à la fois, tout comme appuyer sur Echap puis sur B ou F."

Sous OS X control+left et control+right contrôle normalement les espaces. J'ai désactivé ceux-ci. J'ai également essayé d'utiliser la fenêtre des préférences pour définir les raccourcis clavier:

enter image description here

enter image description here

Cependant, cela ne fonctionne pas et provoque cette erreur:

enter image description here

Aussi, si je suis dans iTerm et utilise alt+escape puis B ou F le personnage se déplace d'avant en arrière. Cela se passait avant tout changement de configuration. Mais je voudrais vraiment pouvoir utiliser le contrôle + les touches fléchées.


98
2017-11-14 18:43


origine


Incidemment, une manière plus simple de réaliser cela pourrait être de mapper les commandes + left et command + right au lieu de ctrl + left et ctrl + right. Je n'ai pas eu besoin de désactiver tout ce qui concerne le système pour y parvenir. - Doctor Mohawk


Réponses:


frapper

Ajoutez simplement ce qui suit à ~/.inputrc:

"\e[1;5D": backward-word
"\e[1;5C": forward-word

Voir ce post Wiki archivé pour plus d'explications. Si vous voulez utiliser le alt au lieu de cela, utilisez le mot-à-mot (comme le comportement par défaut d’OS X), utilisez:

"\e[1;9D": backward-word
"\e[1;9C": forward-word

zsh

zsh par défaut n'utilise pas le readline bibliothèque et ne sera donc pas lu ~/.inputrc. Pour obtenir les mêmes fonctionnalités, vous pouvez ajouter ce qui suit à votre ~/.zshrc - cela utiliserait encore le alt clé:

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Voir cette documentation pour en savoir plus sur l'éditeur de ligne zsh intégré (zle).


Pourquoi est-ce? Vous avez configuré votre profil pour utiliser les valeurs par défaut de Xterm:

enter image description here

C'est pourquoi vous devez "attraper" cette séquence et dire readline Que faire.


Si ce qui précède ne fonctionne toujours pas et que vous utilisez OS X 10.9 (Mavericks) ou ailleurs, vous devrez probablement désactiver les raccourcis de contrôle de mission globaux qui empêchent les touches fléchées de Control + d'atteindre iTerm, même si le contrôle de mission est désactivé. Vous pouvez le faire à partir de Préférences Système → Clavier → Raccourcis → Contrôle de mission:

mission control keyboard prefs


127
2017-11-14 19:15



J'essaie de suivre les instructions pour que les touches alt + left et alt + right fonctionnent. J'ai ajouté les deux lignes à mon fichier .inputrc, mais la seule chose qui se passe lorsque j'appuie sur les touches est qu'un "D" ou un "C" est imprimé sur le shell. J'utilise iTerm2 avec un shell zsh. Des idées? - Flo
@Flo Essayez d'ajouter les lignes bindkey -e, bindkey '^[[1;9C' forward-word et bindkey '^[[1;9D' backward-word à ton ~/.zshrc au lieu. IRC zsh ne lit pas .inputrc - ou du moins ça marche pour moi de cette façon. - slhck
Ne fonctionne pas pour moi avec ctrl-left / right + bash, mais fonctionne bien si je le configure pour alt-left / right. - Dalin
Ajout d'une édition sur les raccourcis du contrôle de mission empêchant tout cela de fonctionner de la manière la plus opaque. Espérons que cela évite à quelqu'un de passer par la même chose que je viens de faire urgh ... - rubyruy
Pour OSX + zsh + iTerm2 + ctrl-gauche / droite utilisez ce qui suit: bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word - Artur Bodera


Solution de travail pour zsh. Simple, simple, prêt à l'emploi.

  1. Aller à: ⌘, Preferences → Profiles → Keys → Keyboard Behavior

  2. Charger le préréglage: Natural Text Editing

Load Preset "Natural Text Editing"


26
2017-12-17 19:49



La meilleure réponse, merci !! - Fer Martin
Merci @Happy Torturer, je crois que c'est la meilleure réponse parce que je n'ai pas sur Terminal.app ce problème donc je ne veux pas modifier bash / zsh, je veux juste travailler tout comme dans Terminal.app. - galuszkak
La solution la plus simple, merci! - markc
Ceci, ceci, ceci Merci beaucoup pour cette solution! Je suis passé par ce processus exaspérant avec chaque Mac que je reçois. Je connais maintenant le moyen le plus simple pour y arriver. Je vous remercie! - vernonk


J'ai utilisé une approche différente. En utilisant MeilleurTouchTool J'ai programmé un raccourci clavier personnalisé pour iTerm2. Lorsque j'appuie sur Alt-gauche dans iTerm2, il envoie le raccourci clavier Ctrl-gauche avec l'action "Envoyer un raccourci clavier à une application spécifique". L'application est iTerm2. J'ai fait la même chose pour alt-right mappé sur Ctrl-right.

L'effet est qu'appuyer sur Alt-Left ou Alt-Right dans iTerm envoie un Ctrl-Left ou Ctrl-directement directement à iTerm2, en contournant le raccourci habituel à l'échelle du système pour déplacer un bureau vers la gauche ou la droite. Comme ça, j'obtiens le comportement mac typique dans iTerm2, sur les sessions de terminal locales, mais aussi sur les sessions SSH distantes et je peux utiliser la touche ctrl-gauche / ctrl-droite pour passer à différents bureaux. Je l'ai écrit ici:

http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/


7
2018-04-17 17:16



beau! Merci d'avoir posté! - Julian A.
BetterTouchTool n'est pas open source et pourrait très bien faire des choses que vous ne souhaitiez pas. Le gars dit qu’il est étudiant mais qu’il pourrait tout aussi bien être une agence de trois lettres. - revacuate


En fait, j'ai trouvé que la solution la plus simple consistait à accéder aux paramètres de mon profil (trouvés dans Profiles / Keys), en supprimant les raccourcis de profil incriminés (le profil remplaçant globalement dans iTerm), dans mon cas alt + left et alt + right les raccourcis ont parfaitement fonctionné pour moi!

De plus, si vous utilisez OS X, il est probablement préférable de vous en tenir aux raccourcis à l’échelle du système, c’est-à-dire en utilisant alt + left et alt + right à cette fin.

Autre que cette solution de chmac pour utiliser Better Touch Tool était un moyen élégant de changer le comportement de contrôle + flèche dans l'iterm seulement.


6
2018-03-20 08:09



en fait c'est la meilleure solution. Il est déroutant car la plupart d'entre nous allons à Keys languette. Au lieu de cela, nous devons aller à Profiles onglet -> Un profil (par exemple par défaut) -> touches. - Paschalis
C'est certainement la solution la plus sûre et la plus simple. - revacuate


Je l'ai réparé de cette façon:

Dans le menu supérieur aller à

Profiles 
-> Open profiles... 
-> Edit profiles... (button) 
-> Keys (tab) 
-> Load Preset... (dropdown) 
->  Choose "Natural text editing". Done! :-)

5
2017-11-30 16:22





Cet article enseigne ceci et d'autres raccourcis comme ⌥ ← Supprimer pour supprimer un mot:

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


2
2018-06-02 14:51



Cela ne répond pas réellement à la question, qui concerne l'utilisation de <ctrl> <gauche> - DavidPostill♦
Il vous suffit d'utiliser le raccourci correspondant à votre besoin. "<ctrl> <gauche>" ou ce que vous voulez. - Sérgio Toledo
Citez donc les parties essentielles de la réponse à partir du ou des liens de référence, car la réponse peut devenir invalide si la ou les pages liées changent. - DavidPostill♦


Vous devez entrer dans le Profiles onglet et supprimer le mappage pour alt+la gauche et alt+droite comme par défaut, il affiche des valeurs hexadécimales.


1
2018-01-05 23:13



Cela l'a fait pour moi! - Philip