Emacs-Tastenkombinationen in zsh funktionieren nicht (Strg-A, Strg-E)

16

Meine Emacs-Tastenkombinationen zshfunktionieren nicht ( CtrlA, CtrlE). Ich benutze zshauf OS X.

Sie könnten an etwas anderes gebunden sein. Ich verwende derzeit oh-my-zsh .

Und mein .zshrcist hier drüben .

Bildbeschreibung hier eingeben

Takehiro Adachi
quelle
@rene Fertig! Danke für den Rat! : D
Takehiro Adachi
Aus dem Screenshot geht hervor, dass Sie unter Mac OS X arbeiten. Ich habe dort im Terminal das gleiche Problem. Strg + A / E / K werden bereits in diesem Betriebssystem verwendet (zur Verwendung in Textfeldern in der GUI), was dies möglicherweise erklären könnte.
Henno
@ Henno wirklich? Ich benutze zsh atm, und wenn ich bash benutze, funktionieren Strg + a (gehe zum ersten Zeichen der Zeile) und Strg + e (gehe zum Ende der Zeile) einwandfrei. aber wenn ich zsh benutze, geht es wie im Screenshot. Also denke ich, es ist ein Problem mit zsh, nicht dem Betriebssystem :(
Takehiro Adachi
@TakehiroAdachi Dein Fix hat auch bei mir funktioniert!
Henno
@ Henno Großartig: D!
Takehiro Adachi

Antworten:

20

Ich habe das Problem gelöst. Sieht so aus, als hätte oh-my-zsh die Standard-Tastenkombinationen überschrieben.

Wenn habe ich die folgende Zeile am Ende meines .zshrc, CtrlEund CtrlAarbeitete:

bindkey -e
Takehiro Adachi
quelle
toll, hat auch bei mir funktioniert!
Henno
5

Im Allgemeinen können Sie den Code eines Schlüssels finden, indem Sie CtrlVund den Schlüssel eingeben . Sie können diese Taste dann mit verwenden bindkey, um sie einer zshTastaturfunktionalität zuzuordnen (z beginning-of-line. B. ).

In Ihrem speziellen Fall wäre das CtrlV CtrlAund CtrlV CtrlE.

Dann können Sie den Code in Ihr .inputrc, das System /etc/inputrcoder so einfügen .zshrc:

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

Dies funktioniert auch für andere Tasten. Ich hatte zum Beispiel Probleme mit Homeund End.

Sie sollten diesen Trick in jeder Terminalsitzung anwenden können: tty,

tiktak
quelle