J'étais en train de lire dans le manuel Linux et j'ai remarqué qu'il était dit que je pouvais utiliser les touches control + left et control + right pour avancer et reculer dans le terminal tout en modifiant le texte.
"Appuyer sur Ctrl et sur les touches fléchées gauche ou droite permet d'avancer ou de reculer d'un mot à la fois, tout comme l'appui sur Échap, puis sur B ou F."
Sous OS X, control+left
et control+right
contrôlent normalement les espaces. J'ai désactivé ceux-ci. J'ai également essayé d'utiliser le volet des préférences pour définir les raccourcis clavier:
Cependant, cela ne fonctionne pas et provoque cette erreur:
De plus, si je suis dans iTerm et que j'utilise alt+escape
, alors B ou F, le personnage se déplace d'avant en arrière. Cela se produisait avant tout changement de ma configuration. Mais j'aimerais vraiment pouvoir utiliser contrôle + les touches fléchées.
Ajoutez simplement ce qui suit à ~/.inputrc
:
"\e[1;5D": backward-Word
"\e[1;5C": forward-Word
Voir cet article de wiki archivé pour plus d'explications. Si vous voulez utiliser le alt clé à la place pour le mouvement de Word à Word (comme le comportement par défaut d’OS X), utilisez:
"\e[1;9D": backward-Word
"\e[1;9C": forward-Word
zsh par défaut n'utilise pas la bibliothèque readline
et ne lira donc pas ~/.inputrc
. Pour obtenir la même fonctionnalité, vous pouvez ajouter ce qui suit à votre ~/.zshrc
- ceci utiliserait à nouveau le alt clé:
bindkey -e
bindkey '^[[1;9C' forward-Word
bindkey '^[[1;9D' backward-Word
Voir cette documentation pour plus d'informations 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:
C'est pourquoi vous devez "attraper" cette séquence et dire à readline
quoi faire.
Si ce qui précède ne fonctionne toujours pas et que vous utilisez OS X 10.9 (Mavericks), vous devez probablement désactiver les raccourcis globaux de Mission Control qui empêchent les touches Ctrl + flèche d’atteindre iTerm, même si Mission Control est désactivé. Vous pouvez le faire à partir de Préférences Système → Clavier → Raccourcis → Contrôle de mission :
Solution de travail pour zsh. Simple, direct, prêt à l'emploi.
Goto: ⌘, Preferences → Profiles → Keys → Keyboard Behavior
Charger le préréglage: Natural Text Editing
En fait, j'ai trouvé que la solution la plus simple était d'aller dans les paramètres de mon profil (trouvés dans Profils/Clés), en supprimant les raccourcis de profil incriminés (car le profil annulait global dans iTerm), dans mon cas alt + left et les raccourcis ont parfaitement fonctionné pour moi!
De plus, si vous utilisez OS X, il est probablement préférable de conserver des raccourcis à l’échelle du système, c’est-à-dire d’utiliser alt + left et alt + right à la place, avoir un comportement différent dans le terminal finira par causer une douleur.
Autre solution, la solution chmac consistant à utiliser Better Touch Tool constituait un moyen élégant de modifier le comportement du contrôle + flèche dans iterm uniquement.
Je l'ai corrigé de cette façon:
Dans le menu du haut; aller à
Profiles
-> Open profiles...
-> Edit profiles... (button)
-> Keys (tab)
-> Load Preset... (dropdown)
-> Choose "Natural text editing". Done! :-)
J'ai utilisé une approche différente. Utilisation de BetterTouchTool J'ai programmé un raccourci clavier personnalisé pour iTerm2. Lorsque j'appuie sur Alt-gauche dans iTerm2, le raccourci clavier ctrl-gauche est envoyé avec l'action "Envoyer le raccourci clavier à une application spécifique". L'application est iTerm2. J'ai fait la même chose pour alt-right mappé sur ctrl-right.
En effet, si vous appuyez sur les touches alt-gauche ou alt-droite dans iTerm, les touches ctrl-gauche ou ctrl-droite sont directement appliquées à iTerm2, en contournant le raccourci système habituel pour déplacer un poste de travail à gauche ou à droite. Comme cela, j'obtiens le comportement typique de Mac dans iTerm2, lors de sessions de terminal locales, mais également lors de sessions SSH distantes. Je peux utiliser la combinaison de touches 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/
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/
Vous devez aller dans l’onglet Profiles
et supprimer le mappage pour alt+left et alt+right comme par défaut, il génère des valeurs hexadécimales.