En Emacs, puedo presionar Ctrl-h, kpara describir una clave. Puedo obtener el nombre clave incluso si no está definido, por ejemplo,
C-x <C-M-end> is undefined
Por lo tanto, llegué a saber que el nombre clave es C-x <C-M-end>
.
Pero, ¿cómo puedes obtener el nombre clave de Vim?
Quiero configurar un mapa de teclas para Ctrl-Shift-Vy Shift-Insert, pero ¿qué código debo usar?
¿Es posible obtener el nombre de la clave sobre la marcha?
M
oA
noAlt
. Pero<M-h>, <M-l>
simplemente no funciona. No sé si el nombre de la clave no es válido o si los eventos clave no se han enviado a Vim. Sin registro, sin pista.Alt
es difícil, porque la mayoría de los terminales envíanESC
a continuación,x
cuandoAlt+x
se pulsa, y cómo sabe Vim que no presionaESC
a continuaciónx
. BásicamenteAlt
solo funciona en Gvim.Para averiguar qué salida de una tecla o combinación de teclas genera en Vim, generalmente abro un búfer en blanco con "
:enew
", ingreso al modo de inserción, presiono control-v, luego la tecla o combinación de teclas que quiero identificar. Este truco control-v también puede funcionar en la línea: -command, por lo que definir asignaciones para pruebas es bastante fácil. Por ejemplo, ":map
", control-vy la combinación de teclas, ":echo 'it works'
".fuente
Simplemente escriba Ctrl+ Vsobre la marcha y las teclas que desea presionar. Si no encuentra el resultado esperado (como por ejemplo
<c-space>
,<c-cr>
,<M-i>
, ...) sólo significa que está utilizando vim y no gVim. La forma en que vim entiende las teclas escritas está vinculada a la configuración de su (s) terminal (es). gvim usa sus propias definiciones, por lo tanto no hay nada que configurar.fuente