vi/vim使用入門: vimrc在哪兒?

garfielder007發表於2016-05-05

看到有人用”vimrc在哪兒?”來搜尋我的部落格。覺得有必要討論一下這個話題。

vimrc究竟在哪兒呢?這個問題對一個vim的已入門使用者來說,可能實在不是個問題,你可能回答:”不就是$HOME/.vimrc嗎?”。是的,這個答案是正確的,不過不是全部。

首先,讓我們在Linux下的vim中輸入”:version“命令(可能你用的是Linux下的vi命令,不過在大多數Linux中,vi命令開啟的就是vim),我們略過不相關的內容,關於vimrc的顯示如下(可能你的顯示不完全和這裡相同):

VIM – Vi IMproved 7.1 (2007 May 12, compiled Oct 12 2007 10:26:15)

Compiled by easwy@easwy

system vimrc file: “$VIM/vimrc”

user vimrc file: “$HOME/.vimrc”

user exrc file: “$HOME/.exrc”

system gvimrc file: “$VIM/gvimrc”

user gvimrc file: “$HOME/.gvimrc”

在上面,我們看到列出了幾個vimrc檔案,有一個系統的vimrc檔案,還有使用者的vimrc檔案,以及系統和使用者gvimrc檔案。出於和vi相容的目的,vim也支援vi的exrc配置檔案。

我們在windows系統中輸入”:version“命令,可以看到如下輸出(我使用的是Bram預編譯vim 7.0):

VIM – Vi IMproved 7.0 (2006 May 7, compiled May 7 2006 16:23:43)

MS-Windows 32 bit GUI version with OLE support

Compiled by Bram@KIBAALE

system vimrc file: “$VIM\vimrc”

user vimrc file: “$HOME\_vimrc”

2nd user vimrc file: “$VIM\_vimrc”

user exrc file: “$HOME\_exrc”

2nd user exrc file: “$VIM\_exrc”

system gvimrc file: “$VIM\gvimrc”

user gvimrc file: “$HOME\_gvimrc”

2nd user gvimrc file: “$VIM\_gvimrc”

比較一下上面兩個:version命令的輸出,我們發現:

  • 在windows下,有兩個可選的使用者vimrc檔案,一個是$HOME\_vimrc,另外一個是$VIM\_vimrc。vim啟動時,會先嚐試執行系統的vimrc檔案(通常此檔案不存在),然後將按照上述順序查詢使用者vimrc,並執行所找到的第一個使用者vimrc中的命令,忽略其餘的使用者vimrc。
  • 在Linux下使用的vimrc檔名為.vimrc,而在windows下因為不支援以點(.)開頭的檔名,vimrc檔案的名字使用_vimrc。不過,在Linux下,如果未找到名為.vimrc的檔案,也會嘗試查詢名為_vimrc的檔案;而在windows下也是這樣,只不過查詢順序顛倒一下,如果未找到名為_vimrc的檔案,會去查詢.vimrc。
  • 從這裡可以看出,vimrc的執行先於gvimrc。所以我們可以把全部vim配置命令都放在vimrc中,不需要用gvimrc。

對於vim初學者,如果不知道$HOME或者$VIM具體是哪個目錄,可以在vim中用下面的命令檢視:

:echo $VIM
:echo $HOME 

在windows版本的vim安裝時,預設會安裝一個$VIM/_vimrc的,你可以直接修改這個_vimrc,加入你自己的配置(使用:e $VIM/_vimrc可以開啟此檔案。或者,你也可以在windows中增加一個名為HOME的環境變數(控制皮膚->系統–>高階–>環境變數),然後把你的vimrc放在HOME環境變數所指定的目錄中。從上面:version命令的輸出看到,$HOME/_vimrc如果存在,就會執行這個檔案中的配置,而跳過$VIM/_vimrc。

如果使用”vim -u filename“命令來啟動vim,則會用你指定的filename作為vim的配置檔案(在除錯你的vimrc時有用);如果用”vim -u NORC“命令啟動vim,則不讀取任何vimrc檔案:當你懷疑你的vimrc配置有問題時,可以用這種方式跳過vimrc的執行。

更多關於vimrc的配置,參見我的vim使用進階系列文章。

原創文章,請閱讀頁尾的許可方式,轉載請註明:轉載自易水部落格 [http://easwy.com/blog/ ]

from: http://easwy.com/blog/archives/where-is-vimrc/

相關文章