2013-08-20 157 views
10

我跟着http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#intro在gvim(安裝在Windows 8機器上)上爲Python編程安裝了一堆插件。看來,有是「命令-T」和「任務列表」插件之間的映射衝突,因爲我得到了以下錯誤消息:解決vim插件映射衝突 - 映射已經存在 t

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

然後I型:圖中VIM,看到一個映射爲:

>n \t    * :CommandT<CR> 

有沒有解決這個問題的好方法?

回答

9

如果找到到<Plug>TaskList的映射,任務列表將不會映射到<leader>t

所以你只需要在你的vimrc中創建一個到<Plug>TaskList的映射。我在源代碼中發現的例子是

nnoremap <leader>v <Plug>TaskList 
1

另一個,也許不完全,解決方案是直接編輯0​​圍繞線369和手動更改被那裏進行的映射。

2

這裏有一個更普遍的解釋:

從VIM幫助:

兩個<SID><Plug>用來避免敲擊的鍵 的映射與只映射干擾從其它使用映射。 注意事項使用<SID><Plug>之間的區別:

<Plug>是腳本的外部可見。它用於用戶可能想要映射密鑰序列的映射 。 <Plug>是一個 鍵入的密鑰永遠不會產生的特殊代碼。爲了使其非常不可能其他插件使用相同的字符序列,請使用 此結構:scriptname mapname在我們的示例中, scriptname是「Typecorr」,mapname是「Add」。這導致 「TypecorrAdd」。只有腳本名的第一個字符和mapname是大寫的,這樣我們才能看到mapname的起始位置。

所以,如果你想要的錯誤沒有出現,你需要在你的示例中映射到<Plug>Tasklist

像這樣:

nnoremap <leader>v <Plug>TaskList