2013-06-02 58 views
-1

Vim展示了一些讓我困惑的配置行爲。配置Vim中的奇怪

  1. 我已閱讀,VIM接受$VIM/vimrc作爲其默認的配置文件。在我的shell環境中,$VIM設置爲/etc/vim,但/etc/vim/vimrc未用作默認配置文件。相反,使用/usr/share/vim/vimrc

  2. 我在我的vimrc文件(現在是/usr/share/vim/vimrc),nnoremap ccom :normal I//< ESC>< CR>中定義了以下映射。這張地圖應該在當前行的開頭插入一個c樣式的註釋。當我使用這張地圖時,我將//<ESC><CR>文字放在當前行的開頭。這是一個故障。同樣,如果我用-u /usr/share/vim/vimrc開始vim,映射表現出相同的不良行爲。但是,如果我使用ex命令source /usr/share/vim/vimrc,映射只需在行的開頭插入//。怎麼會這樣?

  3. 如果:show cmd位於我知道運行的配置文件中,爲什麼不showcmd設置?

+1

不,你的vimrc是*不*'在/ usr/share/vim目錄/ vimrc',它的'〜/ .vimrc',這也可以訪問在Vim用':E $ MYVIMRC'。如果它還不存在,你需要自己創建它。 – glts

+0

**如果您有多個問題,請提出多個問題。**':show cmd'無論在運行時還是在'〜/ .vimrc'中都執行Vim。在運行時使用':set showcmd'或在'〜/ .vimrc'中添加'set showcmd'。哦!並閱讀':help showcmd'。 – romainl

回答

1

$VIM NEVER做任何事情。

全部您的配置應該發生在~/.vim目錄和~/.vimrc文件中。

放入~/.vimrc這一行,你是好去:

nnoremap ccom :normal I//<CR> 

編輯

$VIM是Vim的默認運行。因此,它的設置保證了一致的用戶體驗。這裏有三個很好的理由,我相信我能挖出了幾個:

  • 更改目錄中的內容只是把Vim的不一致狀態可能導致意外行爲。

  • 該目錄的內容(或內容的部分內容)可能會在下次升級(vim或system)過程中被覆蓋,基本上消除了您在那裏完成的任何自定義。

  • 大多數劇本都是圍繞一堆約定的,一般要求,有些功能是在運行時或源時間或任何訪問。在正常位置(~/.vim)以外的任何地方安裝這些腳本將導致更多意外行爲。

+0

爲什麼你建議不要在$ VIM中做任何事情? – seewalker

+0

@seewalker,看我的編輯。 – romainl