Les raccourcis clavier Emacs dans zsh ne fonctionnent pas (Ctrl-A, Ctrl-E)


17

Mes raccourcis clavier Emacs zshne fonctionnent pas ( CtrlA, CtrlE). J'utilise zshsur OS X.

Ils pourraient être liés à autre chose. J'utilise actuellement oh-my-zsh .

Et mon .zshrcest ici .

entrez la description de l'image ici


@rene Terminé! merci pour les conseils! : D
Takehiro Adachi

D'après la capture d'écran, je suppose que vous êtes sur Mac OS X? J'ai le même problème là-bas dans le terminal. Ctrl + A / E / K sont déjà pris dans ce système d'exploitation (pour une utilisation dans les champs de texte de l'interface graphique), ce qui pourrait expliquer cela.
Henno

@Henno vraiment? Im utilisant zsh atm, et quand j'utilise bash, les touches ctrl + a (aller au premier caractère de la ligne) et ctrl + e (aller à la fin de la ligne) fonctionnent bien. mais quand j'utilise zsh, ça ressemble à la capture d'écran. donc je pense que c'est un problème avec zsh, pas avec le système d'exploitation :(
Takehiro Adachi

@TakehiroAdachi votre fixe a également fonctionné pour moi!
Henno

@Henno Great: D!
Takehiro Adachi

Réponses:


21

J'ai résolu le problème. On dirait que oh-my-zsh était en train de remplacer les raccourcis clavier par défaut.

Quand j'ai ajouté la ligne ci-dessous à la fin de mon .zshrc, CtrlEet CtrlAtravaillé:

bindkey -e

génial, a fonctionné pour moi aussi!
Henno

5

D'une manière générale, vous pouvez trouver le code d'une clé en tapant CtrlVet la clé. Vous pouvez ensuite utiliser cette touche avec bindkeypour la mapper à une zshfonctionnalité de clavier (par exemple beginning-of-line).

Dans votre cas particulier, ce serait CtrlV CtrlAet CtrlV CtrlE.

Ensuite, vous pouvez mettre le code dans votre .inputrc, le système /etc/inputrcou votre .zshrccomme ceci:

bindkey '^A' beginning-of-line
bindkey '^E' end-of-line

Cela fonctionne également pour d'autres clés. Par exemple, j'ai eu quelques problèmes avec Homeet End.

Vous devriez pouvoir utiliser cette astuce dans n'importe quelle session de terminal: tty,

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.