Zunächst einmal ist mir bewusst, dass ich Alt+ 1(bis 9 und 0) verwenden kann, um die entsprechenden Funktionstasten ( F1bis F10) in Midnight Commander zu synthetisieren. Es hat mir oft geholfen, aber standardmäßig drücke ich immer noch dietatsächlichFunktionstasten intuitiv.
Wesentlicher Inhalt: Ich versuche, sowohl Vim als auch Midnight Commander tmux
mit PuTTY in einer Sitzung (manchmal Fenster, manchmal Bereich) auszuführen.
Standardmäßig habe ich also die folgende PuTTY-Konfiguration:
Mit ESC[n~
Mapping
Das Problem beim Mapping von ( map <F1> :tab help<CR>
, und auch nmap
und imap
) F1in Vim ist, dass es den Effekt von ~(toggle case) hat. Und tatsächlich, wenn ich in der Shell durchdrücke F1, ist F5die Tilde ( ~
) das Ergebnis,entlangmit einer Glocke. Die Funktionstasten funktionieren in Midnight Commander mit dieser Einstellung jedoch einwandfrei.
Es gibt noch eine merkwürdige Sache an der obigen Einstellung zusätzlich zu meinen Problemen mit F1: Ich habe auch F5( set pastetoggle=<F5>
) in Vim "abgebildet". MerkwürdigerweiseDasklappt einwandfrei, auch wenn die F5Taste auf der Schale ~
nur ein Like F1etc. von sich gibt.
Notiz:wenn ich Vim außerhalb von ausführe , funktionieren tmux
die Standardbindung (und meine Überschreibung) von einwandfrei!F1
Mit "Linux"-Mapping
Daher habe ich natürlich versucht, im obigen Dialog die Einstellung „Linux“ zu verwenden. Wenn ich also drücke, F1wechselt Vim am Ende der Zeile in den Einfügemodus (Auswirkung von ). Midnight Commander erkennt mit dieser Einstellung keine der Funktionstasten. Natürlich gibt mir Adie Shell und ein Signal ( a und so weiter).F1A
F2B
Was übersehe ich hier?Wie kann ich ein einheitliches Verhalten erreichen, bei dem sowohl Midnight Commander als auch Vim die Funktionstasten erkennen?
Zusätzliche Information:
Das Remote-System ist Ubuntu 14.04 mit LANG=en_US.UTF-8
.
TERM
TERM=xterm
ist auf außerhalb der tmux
Sitzung und TERM=screen
bei Betrachtung innerhalb eines Bereichs oder Fensters eingestellt .
Ich verwende nicht:
set-option -g default-terminal "screen-256color"
um den Terminaltyp darin zu überschreiben tmux
.
Antwort1
Das Problem ist das TERM=xterm
Äußere tmux
. Es gibtNEINKonfiguration von PuTTY, die mit der xterm
Terminalbeschreibung übereinstimmt, und die Nichtübereinstimmung wird in screen
oder tmux
(treffen Sie Ihre Wahl) eingespeist.
Siehe zum Beispiel in den ncurses FAQWarum verwenden Sie nicht einfach TERM mit der Einstellung „xterm“?Die Empfehlung lautet natürlich,
TERM=putty
Ein schneller Check mittack
zeigt, dass diese Kombination ( TERM=putty
, tmux
) für Ubuntu 14.04 funktioniert (Sie sollten das ncurses-term
Paket installiert haben, das dies enthält).