2014-02-16 128 views
0

簡單的映射如let mapleader = ","似乎並沒有工作,所以我重新安裝vim並刪除所有插件。但是,這樣的映射仍然不起作用。我在哪裏可以找到vim插件配置文件?我查看了~/.vim~/.config。當我在命令模式下鍵入一個逗號時,我的mac不會啓動mapleader命令,而會給我一個警報鈴聲。我包含let mapleader = ","作爲我的.vimrc中的第一行。刪除vim配置和插件文件

UPDATE爲了幫助診斷,我有這行我.vimrc

noremap <silent> <Leader>w :w<CR> 

當我鍵入VIM :map,我明白了,其他的映射中:

,w   * :w<CR> 

回答

3

試着將你的映射到名爲~/.vimrc的文件中。

~/.vim目錄用於存儲插件文件,而~/.vimrc文件通常用於映射等通用設置。

+0

我對'.vimrc'非常熟悉。我在談論vim插件配置文件。 –

4

通過運行vim通過vim -V可以獲得最詳盡的信息。

這會給你關於vim查找,查找和打開的每個文件的信息。

最重要的是~/.vimrc/usr/share/vim/*

此外,請驗證您的mapleader命令是否在您的vimrc的開頭。

從手冊:

Note that the value of "mapleader" is used at the moment the mapping is 
defined. Changing "mapleader" after that has no effect for already defined 
mappings. 

編輯

要驗證它是否在運行中的Vim肯定的,類型:let mapleader啓用。它應該打印類似mapleader ,。請驗證它,所以我們可以考慮其他原因。

+0

謝謝,完成。 'vim -V'沒有顯示我注意到的任何不合要求的內容,'/ usr/share/vim'中''mapleader'的grep顯示'mapleader'只在文檔文件中匹配。我還能嘗試什麼? –

+0

@RosePerrone你可以看看我的編輯。 –

+0

它打印'mapleader,' –

1

請注意,在定義映射時使用「mapleader」的值。之後更改「mapleader」對已經定義的映射沒有影響。

您確定在創建映射之前定義了地圖領導者嗎?如果沒有,你的mapleader可能就是你定義的,,但是你所有的宏將被映射到\

+0

我的mapleader定義是我的'.vimrc'中的第一行。命令模式中的反斜槓也不會導致我的Mac鬧鐘發出嗶聲。 –

+0

你可以檢查你的映射嗎? ':cmap'本身應該告訴你所有的命令模式。 – Amadan

1

Vim插件通常在​​中「配置自己」,而不是在外部文件中。該配置通常由變量(例如g:pluginnameSettingName)和映射,它應該出現在這種格式:

nnoremap <silent> <Plug>(PluginMapping) :<C-u>call pluginname#MyFunc()<CR> 
if ! hasmapto('<Plug>(PluginMapping)', 'n') 
    nmap <Leader>x <Plug>(PluginMapping) 
endif 

如果默認映射與<Leader>開始,通過:let mapleader您的預期變化應該工作。或者,您可以嘗試通過將您自己的密鑰映射到<Plug>...映射來明確覆蓋映射。

0

我真的建議你使用一個實用的插件Vundle來管理你的vim插件。它將使您能夠以文本格式管理您的插件並分別配置每個插件的參數。

舉例來說,如果你想安裝一個新的插件「a.vim」,你只需要添加一行到您的bundle.vim Bundle 'a.vim'(對於任何插件,你可以從VimScripts訪問你可以只輸入短名稱,如'c.vim'或'Tagbar')。重新啓動Vim並運行:BundleInstall,Vim將自動安裝新的插件。以同樣的方式,當你想要卸載插件時,只需在你的配置文件中刪除Bundle 'a.vim'行,然後運行:BundleClean,插件將被自動刪除。

+0

我一直在使用捆綁。我刪除了所有插件並運行':BundleClean'。 –