Nach der letzten Systemaktualisierung führt der Befehl Strg + Links- / Rechtspfeil auf dem zsh- Terminal nichts aus. Auch Strg + U hat etwas falsch gemacht, weil normalerweise dieser Befehl vom Cursor zum Zeilenanfang löscht, während jetzt die gesamte Zeile gelöscht wird. Weiß jemand, wie man diese Probleme löst? Danke euch allen.
zsh
keyboard-shortcuts
gentoo
riskio
quelle
quelle
Antworten:
FWIW, das hat in meiner Umgebung (rhel5.x) mit den Standardeinstellungen von zsh funktioniert.
quelle
^[^[[D
und^[^[[C
jeweils für OSX.zshrc
standardmäßig eingebaut ist .$terminfo
anstelle der Escape-Sequenzen verwenden möchte : die Schlüssel$terminfo[kLFT5]
und$terminfo[kRIT5]
arbeitete für michStrg + U ist am wahrscheinlichsten, weil Sie den Cursor am Ende der Zeile haben. Zweitens, auf welche Version von Gentoo beziehen Sie sich als "letztes Systemupdate"?
Und was möchten Sie mit der Tastenkombination Strg + Links / Rechts machen?
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[^[[D' emacs-backward-word
bindkey ";5C" forward-word
bindkey ";5D" backward-word
Hinweis: Wenn die Konfiguration funktioniert, die vermeintlichen Tasten jedoch nicht das tun, was Sie möchten, liegt dies möglicherweise daran, dass sich die Tastendefinition von Ihrer und meiner unterscheidet. Führen Sie Folgendes aus:
cat > /dev/null
und drücken Sie die Tasten, die ausgegeben und entsprechend angepasst werden sollen.quelle
Was funktioniert, hängt nicht direkt von der Distribution (Gentoo, Debian, RHEL usw.) oder der Shell (ZSH, KSH, BASH) ab - es hängt davon ab, welche
terminal emulator
verwendet wird und welche Einstellungen vorhanden sind: Konsole, Terminator, urxvt, lx-terminal usw. Die Distribution kann von Bedeutung sein, wenn sie eine andere Standard-Shell-Konfiguration (fx. .zshrc) verwendet, und wenn sie eine andere Shell verwendet, die die Konfiguration dieser Distribution unterstützt.Hier sind einige Terminalemulator-spezifische Lösungen:
urxvt / rxvt-unicode (und vielleicht auch andere):
terminator, konsole und xterm (und vielleicht auch andere):
Für eine allgemeinere Vorgehensweise starten Sie Ihr Terminal, indem Sie STRG-V gefolgt von der Tastenkombination drücken, für die Sie den Escape-Code (den Namen) möchten - in diesem Fall die Tastenkombinationen STRG-Links-Pfeil und STRG-Rechts-Pfeil - und die Ausgabe für jeden Befehl eingeben Tastenkombination zwischen den beiden Anführungszeichen.
quelle
terminal emulator
verwendeter Lösung gibt es mehrere . Die Distribution oder Shell spielt keine Rolle. Das ist wahrscheinlich auch der Grund, warum es nicht in .zshrc ist, weil das, was für einen Terminalemulator funktioniert, für einen anderen nicht funktioniert. Aber das könnte wahrscheinlich gelöst werden, wenn zshrc fx. Lesen Sie die Umgebungsvariable $ TERM und wenden Sie basierend auf dem Ergebnis verschiedene Bindkey-Einstellungen an.Gelöst
Verwendetes Terminal: Konsole .
Zum Lösen: Rechtsklick auf Terminal (oder Einstellungen in der Menüleiste) -> Aktuelles Profil ändern -> Tastaturbelegung -> Zu Standard wechseln (xfree4)
quelle