Ich habe gesucht und konnte dafür nirgendwo eine Lösung finden. Ich verwende PuTTY von Windows aus, um eine Verbindung zu verschiedenen Servern herzustellen, auf denen ich bash und screen ausführe. Es scheint, als ob bash mit den Strg-Pfeiltasten funktioniert, um Wort für Wort in der Befehlszeile zu springen, aber innerhalb des Bildschirms funktioniert es nicht. Nicht auf dem Bildschirm, Strg-Links sendet "^ [OC und Strg-Rechts ist" ^ [OD ". Auf dem Bildschirm erhalte ich stattdessen" ^ [[C "und" ^ [[D ", was die Codes für nur zu sein scheint Gibt es eine Möglichkeit, auf dem Bildschirm Strg-Pfeiltasten zu erkennen, wenn PuTTY verwendet wird? (Zu Ihrer Information, ich kann mich nicht erinnern, dass dieses Problem bei der Verwendung von gnu-terminal unter Linux anstelle von PuTTY aufgetreten ist.)
UPDATE: Es scheint, dass PuTTY das Problem ist, da es nicht die Escape-Codes sendet, die dafür erforderlich sind. Ich gebe jetzt auf und benutze Cygwin + Mintty.
quelle
^[[1;5A
für Ctrl-Up, was laut code.google.com/p/mintty/wiki/Keycodes#Cursor_keysAntworten:
Bearbeiten:
Folgendes hat bei mir funktioniert:
~/.bashrc
SetsTERM=xterm
(meine sind zufälligTERM=xterm-256colors
) überschreiben die BildschirmeTERM=screen
tput smkx
die Bash-EingabeaufforderungJetzt springen Strg-Pfeiltasten Wort für Wort
Zu Informationszwecken, wenn ich es tue:
tput smkx | hexdump -c
Ich bekomme
0000000 033 [ ? 1 h 033 =
und
tput rmkx | hexdump -c
gebe es mir
0000000 033 [ ? 1 l 033 >
Ich denke, es gibt eine Möglichkeit, dies in etwas Besseres umzuwandeln, aber es ist das, was ich bisher habe und es scheint zu funktionieren.
Ursprüngliche Antwort:
Von
info screen
:Und VT100s haben keine Strg-Pfeiltastencodes.
quelle
set -o vi
(Wenn Sie diese Art von Person sind :)set -o vi
Aktiviert den vi-Befehlszeilenmodus, sodass SieESC
die vi-Tasten drücken und verwenden können, um sich in der Befehlszeile zu bewegen und sie zu bearbeiten.Wie hier erwähnt , können Sie ~ / .inputrc eingeben:
Es hat bei mir funktioniert.
quelle
$include /etc/inputrc
der Anfang Ihrer.inputrc
Datei steht, da sonst die systemweiten Bindungen nicht von readline gelesen werden und Schlüssel wie Home und End beschädigt werden.Ich bin etwas überrascht, dass Sie Putty dazu gebracht haben, Strg-Pfeiltasten auch ohne Bildschirm richtig zu senden, da das bei mir nie funktioniert hat. Meine Lösung bestand darin, zur Verwendung von Alt-Pfeiltasten (Meta-Pfeiltasten) zu wechseln, von denen ich glaube, dass sie standardmäßig die gleiche Vorwärts- / Rückwärtswortbindung in Bash haben, obwohl ich ein paar zusätzliche Befehle für zsh ausgeben musste, um sie zu erkennen:
quelle
Falls andere diese alte Frage wie ich finden, eine neuere Lösung:
http://stuff.mit.edu/afs/athena/project/bsd/src/tmux-1.3/FAQ
quelle
Sie sollten in die Dokumentation von terminfo, ncurses, screen und putty schauen, wenn Sie richtig debuggen / konfigurieren möchten. Auch Bash-Verknüpfungen können mit inputrc konfiguriert werden. Schauen Sie in die Manpages von bash und suchen Sie nach inputrc.
quelle
Haben Sie die richtige Zeichenkodierung in Putty? Wenn Sie in UTF-8 eine Verbindung zu einem Server herstellen und sich Ihr Kitt im Standard-Zeichensatz befindet, werden in vim die Pfeiltasten geschrieben. Wenn sich Putty in UTF-8 befindet, können Sie den Cursor bewegen. Vielleicht ist es bei Ihnen auch so ...
quelle
In Ihrer Kittkonfiguration unter Terminal -> Funktionen gibt es einige Kontrollkästchen zum Deaktivieren. Möglicherweise möchten Sie versuchen, die Anwendungscursortasten oder den Anwendungstastenmodus zu deaktivieren. Manchmal versucht Putty, "zu intelligent" zu sein, und sendet Steuerzeichen, die nicht mit dem Server kompatibel sind.
quelle
Ich verwende das Terminal> Tastatur> Funktionstasten> Xterm R6. Das hilft, wenn die Funktionstasten für die Top-Funktion (F4-Suche usw.) wie erwartet funktionieren.
Was ich herausgefunden habe ist, dass anstatt STRG + Pfeil, ALT + Pfeil stattdessen Wörter springt.
quelle