Funktionstasten in PuTTY für Vim und Midnight Commander unter tmux konfigurieren?

Funktionstasten in PuTTY für Vim und Midnight Commander unter tmux konfigurieren?

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 tmuxmit PuTTY in einer Sitzung (manchmal Fenster, manchmal Bereich) auszuführen.

Standardmäßig habe ich also die folgende PuTTY-Konfiguration:

PuTTY-Tastaturkonfiguration

Mit ESC[n~Mapping

Das Problem beim Mapping von ( map <F1> :tab help<CR>, und auch nmapund 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 tmuxdie 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).F1AF2B

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.

TERMTERM=xtermist auf außerhalb der tmuxSitzung und TERM=screenbei 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 xtermTerminalbeschreibung übereinstimmt, und die Nichtübereinstimmung wird in screenoder 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 mittackzeigt, dass diese Kombination ( TERM=putty, tmux) für Ubuntu 14.04 funktioniert (Sie sollten das ncurses-termPaket installiert haben, das dies enthält).

verwandte Informationen