2013-10-31 113 views
4

我在.vimrc中有一個與插件中另一個映射衝突的映射。在.vimrc中無提示地覆蓋衝突映射

nnoremap <leader>p some fancy command here 

當我運行VIM,我得到一個警告:

E227: mapping already exists for ,p 

如何默默覆蓋問題的映射?

編輯

  • 它既不符合nmap
+0

直接'nmap'怎麼樣? – yakiang

+0

同樣的錯誤。 –

+0

設置**重新映射**爲真 – Claudio

回答

5

工作,這可能壓制警告:

:nnoremap <silent> <leader>p some fancy command here 

但我懷疑的警告實際上並沒有從您的到來映射。我懷疑衝突的映射是用<unique>定義的,並且正在映射之後您的映射。如果存在衝突的地圖,<unique>將發出E227。請參閱:h E227

挖掘映射的第二個來源(可能是插件),看看是否是這種情況。最精心編寫的插件爲您提供了一種使用自己的映射或覆蓋他們,通過設置一個全局標誌完全禁用的映射,或將檢測到您映射別的特定功能(通過hasmapto

你可以看到哪個插件/腳本設置了映射通過:

:verbose map <leader>p 

這應該有助於追蹤源。

+0

沒有與沉默工作,但我*追蹤源*和禁用他冒犯插件 –

+0

只是好奇,但什麼是有問題的插件? –

+0

[screenpaste.vim](http://www.vim.org/scripts/script.php?script_id=1512) –