2011-12-17 5 views
8

In generale, come eseguire il debug e risolvere i collegamenti dei tasti sovrapposti? Ho avuto questo problema .. Recentemente aggiungo il plugin vim-latex alla mia directory vim. Successivamente ho notato che il mio ctrl-j bind è sovrapposto a vim-latex/plugin/imaps.vim e ha perso molto tempo prima di risolverlo.Come eseguire il debug delle sovrapposizioni di mappe vim?

A proposito: c'è un errore in imaps.vim, penso, perché c'è scritto "mappa solo se non esiste già alcuna mappatura" e il mio esempio mostra l'opposto.

risposta

19

È possibile ottenere informazioni a grana fine dal comando :map:

per mostrare solo le mappature rilevanti per un determinato tasto (in questo caso Ctrl-J):

:map <c-j> 

o, meglio, a mostrare mappature per particolari chiave così come la sceneggiatura in cui è stata impostata la mappatura:

:verbose map <c-j> 
+0

Soprattutto con "verbose" è utile. Grazie. – xliiv

1
:map 

Mostra un elenco delle mappe attuali.

9

E 'l'aggiunta alle risposte di altre persone, non è la risposta stessa.

A proposito: c'è un bug nel imaps.vim credo, perché c'è scritto "mappa solo se non v'è alcuna mappatura già" e il mio esempio qui accanto mostra.

Si sta sbagliando cosa significa "mappatura" qui. Se dai un'occhiata al codice di imaps.vim vedrai che non creerà una mappatura se c'è una mappatura a <Plug>IMAP_JumpForward ({rhs}), non se c'è una mappatura <C-j> ({lhs}). Così si dovrebbe usare

nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward 

al fine di disabilitare <C-j> rimappatura se non ne hai bisogno (ovviamente si potrebbe sostituire <SID>... parte con qualcosa di più significativo se si desidera utilizzare questa funzionalità).

+0

Hai ragione, anche questo mi spiega molto, grazie. – xliiv