Ich benutze GNOME Terminal 2.7.3 und zsh 4.3.9 (x86_64-unknown-linux-gnu)
Home
und End
arbeiten nicht. Nichts passiert und nichts wird angezeigt, wenn ich sie drücke. Sie funktionieren jedoch, wenn ich drücke shift + Home
(Scrollt zum Anfang der Shell-Ausgabe) und funktionieren auch in anderen GUI-Programmen. Ich googelte und versuchte Folgendes. Keine Änderung :(
885 bindkey "\e[1~" beginning-of-line
886 bindkey "\e[H" beginning-of-line
887 bindkey "\e1~" beginning-of-line
888 bindkey "\eH" beginning-of-line
889 bindkey "\e[0H" beginning-of-line
PS: Wenn ich in der letzten Registerkarte bin und drücke, werde Ctrl + pagedown
ich ;5~
auf dem Bildschirm gedruckt. Gibt das einen Hinweis?
.inputrc
in deinem Homeverzeichnis? Geschieht dies bei einem neu erstellten Benutzer? Ist das immer passiert oder hat es eines Tages begonnen?.inputrc
. Ich habe keine Erlaubnis, einen neuen Benutzer zu erstellen. Das war schon immer so. Ich lebe mitctrl +a
undctrl+e
.ctrl+a
&ctrl+e
;-)Antworten:
Ich bin jetzt auf Fedora, aber ich schlage vor, dass Sie Archlinux 'Wiki sorgfältig lesen. All das : Die Schlüssel Home und End funktionieren nicht .
Was ich getan habe, um es zu beheben:
Drücken Sie Strg-V Start, um die maskierte Sequenz für die Starttaste zu drucken. Es ist nicht so
\e[4~
und\e[1~
wie ich es mir vorgestellt habe/etc/inputrc
. Es war[H
und[F
Extrahieren Sie die Terminalinformationen
infocmp $TERM >terminfo.src
Öffnen Sie die Datei für die Bearbeitung, wie
vim terminfo.src
, suchtkhome
undkend
es zu etwas zugewiesen, sagen wir ,khome=\E[1~
undkend=\E[4~
die Arbeit ist in diesem Fall nicht. Entfernen Sie es und ersetzen Sie es durch die Sequenz, die Sie in Schritt 1 gefunden haben. Nach der Bearbeitung war es für mich also:khome=\E[H
undkend=\E[F
.Wenn Sie es sicher spielen wollen sicher
[F
und[H
(oder was auch immer Sequenz , die Sie gerade verwendet) nicht zugewiesen , um etwas anderes oder Dinge werden vermasselt!Ausführen,
tic terminfo.src
wodurch ein~/.terminfo
Verzeichnis erstellt wird .Stellen Sie
.zshrc
vor allen anderen Befehlen Folgendes ein:export TERMINFO=~/.terminfo
Öffnen Sie ein neues Terminalfenster und Sie sollten in Ordnung sein, daheim und am Ende muss jetzt gearbeitet werden.
PS: Die Bindkey-Methode sollte theoretisch funktionieren und ist einfacher, hat aber bei mir nicht funktioniert.
quelle
Von Funktions- und Cursortasten gesendete Escape-Sequenzen bestehen aus einem Escape-Zeichen, gefolgt von druckbaren Zeichen. Drücken Sie dann Ctrl+ . Dadurch wird die Escape-Sequenz buchstäblich eingefügt. Fügen Sie dann eine Anweisung zu Ihrer hinzu .VHome
bindkey
~/.zshrc
Die Anweisung lautet wahrscheinlich (Anmerkung
O
, nicht0
):quelle
ctrl + a
undctrl +e
und vi-ModusIch fand ich getroffen hatte
CTRL-v
, loslassen, dann dieHome
oderEnd
Taste , um die Sequenzen zu erhalten^[[H
und^[[F
fürHome
undEnd
jeweils. Das Hinzufügen der folgenden Zeilen zur.zshrc
Datei löste das Problem für mich:quelle
Füge diese Zeilen hinzu
/etc/zshrc
und mache dann einsource /etc/zshrc
(von hier genommen )quelle
Diese Antwort hat mein Problem wirklich gut erklärt und behoben.
/programming//a/686458/5472892
TL; DR: Ändern Sie den PuTTY-Terminaltyp von Standard
xterm
auflinux
.Vielleicht kann es auch jemand benutzen.
quelle