
Esta pregunta encaja con¿Cómo hago para que el teclado numérico funcione en vim usando iterm2 en osx con term=xterm?y¿Cómo hago para que el teclado numérico funcione en vim usando iterm2 en osx con term=xterm?pero no pude encontrar los elementos descritos en esas respectivas respuestas.
Estoy accediendo a un cuadro de Linux a través de VNC desde un cuadro de Windows.
En el cuadro de Linux, a través de esta sesión de VNC, estoy editando en Vim, y en modo de inserción, cuando escribo '/' y '*' desde el teclado numérico (es decir, para iniciar un comentario estilo C), los caracteres ' En su lugar, se insertan o' y 'j' (específicamente, parece que se inserta un retorno de carro, luego se inserta la 'o' o la 'j' en la primera tabulación).
Las preguntas y respuestas que noté parecen específicas de MacOs; por ejemplo, entre el terminal que se ejecuta en la máquina Linux y las Preferencias de VNC, no pude encontrar ninguna referencia a "xterm con teclado numérico".
¿Alguien puede aconsejarme cómo solucionar este problema en el entorno descrito? No tengo claro si la fuente de este comportamiento es Vim, el terminal o VNC.
Aquí están $TERM
la versión de Vim y .vimrc, si son relevantes:
>vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 21 2016 15:22:28)
>echo $TERM
screen-256color
>cat ~/.vimrc
set backspace=indent,eol,start
set shiftwidth=2
set softtabstop=2
set expandtab
set smarttab
filetype plugin indent on
autocmd FileType make set noexpandtab shiftwidth=4 softtabstop=0
set cino+=(0
set statusline=
set statusline +=\[%n] "buffer number
set statusline +=\%F "File
set statusline +=%=%l/%L "currentLine/totalLine
set statusline +=%4v "virtual column
set laststatus=2
set t_Co=256
colorscheme torte
set number
"let g:netrw_liststyle = 3
syntax on
Actualizar: Otro factor probablemente relevante: estoy ejecutando tmux encima de mi shell bash. Mi .tmux.conf:
>cat ~/.tmux.conf
unbind C-b
set -g prefix C-a
bind C-a send-prefix
set-window-option -g mode-keys vi
set -g set-titles on
set-window-option -g automatic-rename off
set-option -g allow-rename off
Respuesta1
PD: obtuve esta información en la red y no pude encontrar el enlace de origen ahora.
Cree el siguiente archivo en alguna ubicación común:
$ cat fix_numpad ! initialization, ! Ensure that we have all keysyms we're going to use assigned to something. keycode any = KP_Insert keycode any = KP_End keycode any = KP_Down keycode any = KP_Next keycode any = KP_Left keycode any = KP_Begin keycode any = KP_Right keycode any = KP_Home keycode any = KP_Up keycode any = KP_Prior keycode any = KP_Delete ! Set the keypad to numeric mode. ! You may need to adjust KP_Next/KP_Prior; possible alternatives ! are KP_Page_Down/KP_Page_Up or just Next/Prior. ! just Next. keysym KP_Insert = KP_0 keysym KP_End = KP_1 keysym KP_Down = KP_2 keysym KP_Next = KP_3 keysym KP_Left = KP_4 keysym KP_Begin = KP_5 keysym KP_Right = KP_6 keysym KP_Home = KP_7 keysym KP_Up = KP_8 keysym KP_Prior = KP_9 keysym KP_Delete = KP_Decimal $
Asignar las nuevas asignaciones
$ xmodmap fix_numpad
NOTA: Puede agregar esto a su ~/.vnc/xstartup
archivo para que sus asignaciones siempre se conserven.
Respuesta2
La pregunta implica que estás usando xterm
y deseas cambiar el modo de teclado de la aplicación anormal(mientras se ha configurado ensolicitud). Para xterm
, siempre puede activar o desactivar los modos de aplicación a través de una entrada del menú "Opciones de VT" (control-clic central del mouse):
Esas entradas del menú se seleccionan (con una marca de verificación) cuando están enmodo de aplicación.
xterm
usa la información del código clave para saber si se presiona una tecla del teclado y usa el modo normal/aplicación para decidir qué enviar para esa tecla.
Respuesta3
La única forma de solucionar esto que he encontrado es modificar la TERM
variable de entorno dentro de tmux:
setenv TERM xterm
(Estoy en tcsh, para mi consternación)
Sin embargo, esta NO es una solución recomendada a largo plazo.Los desarrolladores de tmux dicen que es probable que se produzcan problemas de visualización. Se está comportando bien para mí en este momento, pero definitivamente será una cosa "cuando sea necesario": me encantaría escuchar una solución mejor.
Respuesta4
Estoy usando x11vnc como servidor y Tigervnc como visor. el mismo problema.
Lo he arreglado con setxkbmap -option 'numpad:microsoft'
.