2013-08-20 10 views
10

Ho seguito http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#intro per installare un gruppo di plug-in per la programmazione Python in gvim (installato su un computer Windows 8). Sembra che ci sia un conflitto mapping tra il 'comando-t' e plugin 'tasklist', come ottengo il seguente messaggio di errore:Risoluzione di un conflitto di mappatura plug-in vim: mappatura già esistente per t

>Error detected while processing C:\Users\Willem\vimfiles\bundle\tasklist\pl 
>ugin\tasklist.vim: 
> 
>line 369: 
> 
>E227: mapping already exists for \t 

Poi digito: mappa in vim e vedo che una mappatura è:

>n \t    * :CommandT<CR> 

c'è un buon modo per risolvere questo?

risposta

9

l'elenco attività non verrà mappato su <leader>t se viene trovata una mappatura su <Plug>TaskList.

Quindi è sufficiente creare una mappatura su <Plug>TaskList in vimrc. L'esempio che ho trovato nel codice sorgente era

nnoremap <leader>v <Plug>TaskList 
1

Un altro, forse imperfetta, la soluzione potrebbe essere quella di modificare direttamente tasklist.vim attorno alla riga 369 e modificare manualmente la mappatura che si fa lì.

2

Ecco una spiegazione più generale:

Dal vim Aiuto:

Sia <SID> e <Plug> sono utilizzati al fine di evitare che le mappature dei tasti di comando interferiscono con mappature che sono solo per essere utilizzato da altri mappature. Nota la differenza tra l'utilizzo <SID> e <Plug>:

<Plug> è visibile al di fuori dello script. Viene utilizzato per i mapping a cui l'utente potrebbe voler associare una sequenza di tasti. <Plug> è un codice speciale che un tasto digitato non produrrà mai. Per rendere molto improbabile che altri plug-in utilizzino la stessa sequenza di caratteri, utilizzare questa struttura: scriptname mapname Nel nostro esempio lo scriptname è "Typecorr" e il mapname è "Aggiungi". Ciò risulta in "TypecorrAdd". Solo il primo carattere di scriptname e il nome di mappa sono in maiuscolo, in modo che possiamo vedere dove inizia il mapname.

Quindi, se si desidera che l'errore non appaia, è necessario mappare qualcosa a <Plug>Tasklist nell'esempio.

Ti piace questa:

nnoremap <leader>v <Plug>TaskList