265 votes

Recherche d'une solution ALT+Touche fléchée gauche dans zsh

Je suis récemment passé de bash à zsh, mais mes fonctions de base me manquent. Alt + LeftArrowKey y Alt + RightArrowKey d'aller et venir un mot à la fois.

Pour l'instant, si j'appuie sur Alt + LeftArrowKey Je reviens en arrière de quelques lettres et puis je suis coincé. Je ne peux pas aller plus loin en arrière et il ne revient pas en arrière jusqu'au bout de la ligne avec Alt + RightArrowKey comme je m'y attendais. Je ne peux même pas utiliser les touches fléchées pour aller à la fin de la ligne, seulement à l'avant-dernière. Je ne peux pas non plus saisir de nouveaux caractères sur la ligne, ni même les effacer.

Comment puis-je récupérer mon raccourci bien-aimé ?

Je suis sur Mac OS X et j'utilise Terminal si c'est important.

9voto

0x89 Points 1292

Bien que cela ne réponde pas strictement à votre question, la liaison par défaut de l'option forward-word y backward-word sont alt-f resp. alt-b .

Cette méthode fonctionne partout, ne nécessite pas de quitter la ligne d'origine et possède une propriété mnémotechnique intéressante (f=avant, b=arrière), tout en étant cohérente avec les principes suivants ctrl-f y ctrl-b être forward-character y backward-character .

Sortez vos touches fléchées !

4voto

iRonin Points 131

Pour le faire fonctionner, j'ai utilisé cette réponse mais j'ai dû échanger les codes (gauche <-> droite).

⌥+← Envoyer les codes hexadécimaux : 0x1b 0x66
⌥+→ Envoyer les codes hexadécimaux : 0x1b 0x62

et ajouter ce qui suit à mon ~/.zshrc

bindkey -e
bindkey "^[b" backward-word
bindkey '^[f' forward-word

3voto

alecodev Points 1

Ces combinaisons de touches fonctionnent avec Alacritty sur Arch Linux, il suffit de les ajouter au fichier ~/.zshrc fichier

bindkey -e

bindkey "^[[3~" delete-char                     # Key Del
bindkey "^[[5~" beginning-of-buffer-or-history  # Key Page Up
bindkey "^[[6~" end-of-buffer-or-history        # Key Page Down
bindkey "^[[H" beginning-of-line                # Key Home
bindkey "^[[F" end-of-line                      # Key End
bindkey "^[[1;3C" forward-word                  # Key Alt + Right
bindkey "^[[1;3D" backward-word                 # Key Alt + Left

2voto

dacx Points 557

Sur MacOS Monterey, utilisez ce qui suit dans ~/.zshrc de faire SHIFT + Arrows les mots sautés :

bindkey "^[[1;2C" forward-word
bindkey "^[[1;2D" backward-word

Et ceci pour Option + Arrows :

bindkey "^[^[[C" forward-word
bindkey "^[^[[D" backward-word

1voto

ZeoS Points 74

Sur Mavericks (10.9.4) le code est 1;5... donc pour lier alt avec les flèches, mon .zshrc utilise ceci :

bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word

Vous pouvez utiliser CTRL+V et ensuite la commande que vous voulez utiliser.

dans Yosemite, utilisez la solution de Rob

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