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

Takehiro Adachi
la source
@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
Takehiro Adachi
la source
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,

TIC Tac
la source