2011-12-17 18 views
8

En general, ¿cómo depurar y resolver la superposición de enlaces de teclas? Tuve este problema .. Recientemente agregué el plugin vim-latex a mi directorio de vim. Después de eso noté que mi enlace ctrl-j estaba superpuesto por vim-latex/plugin/imaps.vim y perdí mucho tiempo hasta que se resolvió eso.¿Cómo depurar superposiciones de mapeo vim?

Por cierto: hay un error en imaps.vim, creo, porque hay un "mapa escrito solo si ya no hay mapeo" y mi ejemplo muestra lo contrario.

Respuesta

19

Usted puede obtener información de grano fino del comando :map:

para mostrar sólo las asignaciones correspondiente a una tecla determinada (en este caso Ctrl-J):

:map <c-j> 

o, mejor, a Mostrar las asignaciones de tecla en particular, así como la secuencia de comandos en el que se establece la correspondencia:

:verbose map <c-j> 
+0

Especialmente con 'verbose' es útil. Gracias. – xliiv

1
:map 

Muestra una lista de sus mapas actuales.

9

es la adición a las respuestas de otras personas, no es la respuesta en sí.

Por cierto: hay un error en imaps.vim creo, porque no está escrito "mapa sólo si no hay ninguna asignación ya" y mi ejemplo muestra lo contrario.

Usted está confundiendo lo que significa «mapeo» aquí. Si echa un vistazo al código de imaps.vim, verá que no creará una asignación si hay una asignación a <Plug>IMAP_JumpForward ({rhs}), no si hay una asignación de <C-j> ({lhs}). Por lo tanto se debe utilizar

nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward 

con el fin de desactivar <C-j> reasignación si no lo necesita (por supuesto podría reemplazar <SID>... parte con algo más significativo si desea utilizar esta funcionalidad).

+0

Tienes razón, esto también me explica mucho, gracias. – xliiv

Cuestiones relacionadas