Je me suis connecté sur l'un des serveurs du fournisseur d'hébergement et j'ai remarqué que ALT + gauche et ALT + droite se déplaçaient entre les mots dans une invite de shell dans l'écran GNU.
Quel type de raccourcis clavier je dois configurer et où obtenir ce comportement sur mon OS X zsh local exécuté dans iTerm2?
keyboard-shortcuts
zsh
iterm2
key-binding
Mikko Ohtamaa
la source
la source
FOO=BAR
est un mot pour zsh et 2 mots pour bash. De même, si vous placez votre curseur à la fin defoo --bar
et faites alt + backspace, en bash vous aurezfoo --
et en zsh vous aurezfoo
. Zsh ajoute de nombreuses fonctionnalités à bash, mais il a également de nombreux paramètres par défaut insensés à remplacer.Réponses:
J'ai trouvé la solution ici: https://coderwall.com/p/h6yfda . Copiera les parties les plus importantes de celui-ci, au cas où le lien tomberait.
la source
Vous recherchez les mots
backward-word
- clés etforward-word
. Donc, si vous êtes sur un shell où les raccourcis clavier ne fonctionnent pas, essayezbindkey -L | grep backward-word
de vérifier s'ils sont même configurés. Il y a plus d'informations à ce sujet dans zshzle (1) .Vous pouvez définir manuellement la liaison de touches en tapant quelque chose comme ceci:
J'ai également eu des problèmes avec les raccourcis clavier et le problème était presque toujours que la touche Option / Alt envoyait quelque chose de différent du Meta / Escape attendu.
la source
emacs-forward-word
etemacs-backward-word
. La différence est que vous sautez en avant à la fin du mot et en arrière au début du mot au lieu de sauter toujours au début du mot.Je ne peux pas parler pour iTerm mais ce sont les raccourcis clavier que j'ai utilisés pour résoudre ce problème sous GNOME Terminal, sur Fedora 19, exécutant ZSH 5.0.7 avec Oh-my-zsh:
où
\e
== La séquence de touches d'échappement (comme indiqué dans la section 4.1.1 )et
[
==O
(O majuscule; comme indiqué dans la section 4.2.1 ), dans certains cas. Par exemple, soustmux
cette substitution est nécessaire pour moi, mais sanstmux
qu'il soit nécessaire qu'aucune substitution ne soit faite et[
==[
Les codes clés d'une séquence peuvent être obtenus en utilisant
cat
et en appuyant sur la séquence souhaitée. Par exemple, les résultats du pressage<Alt+Right>
doivent être interprétés comme suit:^[
==\e
== La séquence de touches d'échappement[
==[
sanstmux
OR[
==O
(o majuscule) avectmux
1;3
== Je ne suis pas sûr de celui-ci, mais cela devrait logiquement signifier<Alt>
C
== La touche fléchée droiteEnsuite, cette séquence est donnée
bindkey
dans le~/.zshrc
fichier pour la persistance, comme premier argument, et est liée , ce qui signifie que la frappe dans l'argument un exécutera une commande d'édition particulière (ou widget en termes zsh), au widget, qui dans le premier ligne de l'exemple ci-dessus estforward-word
.Le
~/.zshrc
devrait être re-sourced après que ces deux commandes lui soient ajoutées avec:$ source ~/.zshrc
Maintenant, une gêne sur mon système est que cette combinaison particulière a provoqué l'émulateur de terminal pour émettre un bip chaque fois que la commande a été émise, j'ai résolu ce problème en désactivant le
'Edit'->'Profile Preferences'->'Terminal Bell'
case à cocher.la source
Ce qui a fonctionné le mieux pour moi pour rendre la navigation en ligne de commande d'iTerm2 plus intuitive pour moi (je suis un jeune adulte qui n'a pas grandi sur une ligne de commande, mais j'ai passé beaucoup de temps dans les éditeurs de texte et les IDE) était à:
Natural Text Editing
option dans la liste déroulante Presets.Par défaut, les touches de l'éditeur sont plus standard sans que je doive modifier chaque option individuellement.
la source
Je vous suggère d'utiliser
zkbd
pour configurer les raccourcis clavier. Je l'utilise et Alt+ Left/ Alt+ Rightfonctionne très bien sur iTerm2. Voirzshcontrib(1)
pour plus de détails sur zkbd.la source