¿Hay alguna forma de ver las teclas asignadas actualmente en Vim?


183

Básicamente, me gustaría ver todos los mapas de teclas realizados en el búfer actual por todos los complementos, vimrc, etc., en el búfer actual. ¿Hay alguna forma de hacer esto?

Respuestas:


238

Puedes hacer eso con el :mapcomando. También hay otras variantes.

  • :nmap para asignaciones de modo normal
  • :vmap para mapeos de modo visual
  • :imap para asignaciones de modo de inserción

La lista anterior no está completa. Escribir :help mapen Vim te dará más información.


10
Solo para aclarar, creo :map, como la pregunta original pregunta, solo muestra las asignaciones hechas por complementos, vimrc, etc. Si desea ver las asociaciones de teclas predeterminadas en vim, use:index
Von

28
@Von, tal vez te refieres :help index.
Lqueryvg

2
estos solo le dan las asignaciones definidas por el usuario, no los enlaces integrados (predeterminados)
Tyler Durden

1
¿Es posible escribirlos en un archivo para revisarlos más tarde?
Anton Daneyko

@AntonDaneyko Puede usar github.com/AndrewRadev/bufferize.vim para ese propósito.
Radlan

86
:redir! > vim_keys.txt
:silent verbose map
:redir END

Esto genera los accesos directos, con dónde se definieron, a un archivo de texto.


1
Creo que querías usar el :redircomando, no el :remapcomando.
Aaron Hays

1
¡¡¡Gracias, gracias, gracias!!! Finalmente descubrí que MacVim estaba reasignando mi comando <A-Up>. Se solucionó agregando let macvim_skip_cmd_opt_movement = 1
RichS el

54

Además de las respuestas sobre :mapsin argumentos: no se pierda su forma detallada ( :verbose map) que muestra dónde se definió la (s) asignación (es) (ver :help map-verbose).



13

:mapy sus amigos son la clave, :verboseagrega información y:redir permite el refinamiento posterior a la búsqueda.

Son una combinación perfecta para mostrar qué comando está vinculado a qué atajo y viceversa, pero si desea buscar algunas teclas y evitar archivos temporales siempre que necesite buscar asignaciones, eche un vistazo a scriptease y :Verbosecomando.

Es un contenedor :verbosepara mostrar el resultado en una ventana de vista previa.

de esta manera puede buscar lo que quiera dentro de los resultados sin usar archivos temporales

escriba :Verbose mapy use / ?como de costumbre.


4

Otra forma es guardar la sesión en un archivo y luego editar este archivo, ya que contiene todas las asignaciones y configuraciones.

:mks[ession] [file] - Escriba un script Vim que restaure la sesión de edición actual.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.