¿Configurar teclas de función en PuTTY para Vim y Midnight Commander en tmux?

¿Configurar teclas de función en PuTTY para Vim y Midnight Commander en tmux?

En primer lugar, soy consciente de que puedo usar Alt+ 1(hasta 9 y 0) para sintetizar las respectivas teclas de función ( F1hasta F10) en Midnight Commander. Me ha ayudado muchas veces, pero por defecto sigo presionando elactualteclas de función de forma intuitiva.

Esencia: Estoy intentando ejecutar Vim y Midnight Commander dentro de una tmuxsesión (a veces ventana, a veces panel), usando PuTTY.

Entonces, por defecto tengo la siguiente configuración de PuTTY:

Configuración del teclado PuTTY

Con ESC[n~mapeo

El problema ahora al mapear ( map <F1> :tab help<CR>, y también nmapy imap) F1en Vim, es que da el efecto de ~(alternar entre mayúsculas y minúsculas). Y de hecho, si presiono F1en F5el shell, la tilde ( ~) es el resultado,a lo largo decon una campana. Sin embargo, las teclas de función funcionan perfectamente bien en Midnight Commander usando esta configuración.

Hay una cosa extraña acerca de la configuración anterior además de mis problemas con F1: También "mapeé" F5( set pastetoggle=<F5>) en Vim. CuriosamenteesoFunciona de maravilla, aunque la F5tecla en el caparazón da un ~me gusta F1, etc.

Nota:Cuando se ejecuta Vim fuera de tmux, el enlace predeterminado (y mi anulación) F1funciona bien.

Con mapeo "Linux"

Así que, naturalmente, intenté utilizar la configuración "Linux" en el cuadro de diálogo de arriba. Entonces, cuando presiono, F1Vim entra en modo de inserción al final de la línea (efecto de A). Midnight Commander no reconoce ninguna de las teclas de función con esta configuración. Efectivamente, en el caparazón F1me da Auna campana ( F2a By así sucesivamente).

¿Que me estoy perdiendo aqui?¿Cómo puedo conseguir un comportamiento uniforme en el que tanto Midnight Commander como Vim reconozcan las teclas de función?


Información adicional:

El sistema remoto es Ubuntu 14.04 con LANG=en_US.UTF-8.

TERMestá configurado TERM=xtermfuera de la tmuxsesión y TERM=screencuando se ve desde dentro de un panel o ventana.

No estoy usando:

set-option -g default-terminal "screen-256color"

para anular el tipo de terminal dentro tmux.

Respuesta1

El problema es el TERM=xtermexterior tmux. HayNoconfiguración de PuTTY que coincide con la xtermdescripción del terminal, y la discrepancia se alimenta de screeno tmux(elija).

Ver, por ejemplo, en las preguntas frecuentes de ncurses.¿Por qué no utilizar TERM configurado en "xterm"?. Por supuesto, la recomendación es establecer

TERM=putty

Una comprobación rápida utilizandotackmuestra que esta combinación ( TERM=putty, tmux) funciona para Ubuntu 14.04 (debe haber instalado el ncurses-termpaquete que incluye esto).

información relacionada