2012-01-19 47 views
10

我在我的vimrc一會兒有命令什麼設置vim的歷史?

set history=10000 

,並意識到它不設置歷史 -

:set history 

打印20

然後,我將set history=10000移動到我的.vimrc文件的末尾,並根據要求重新編碼,現在history=10000

在我的.vimrc中沒有其他set history的實例。其他命令設置了歷史長度?函數定義是否有可能覆蓋歷史記錄?是否有其他設置我應該擔心重寫?

回答

17

據幫助下,

'歷史' '喜' 號(Vim的缺省值:20,VI默認值:0)

注:此選項設置爲Vi的缺省值當'兼容'是 設置和'兼容'復位時的Vim默認值。

,所以如果你在vimrc裏有set nocompatible地方(這是很常見的有它),然後set history必須在此聲明後走了。這是一條通用規則:不管你寫什麼,它應該在set nocompatible之後。它必須set nocompatible如果它是一個選項。有些東西(包括一些選項)可以安全地出現在它之前,但在此聲明前我唯一使用的是守衛。

+0

+1:我沒有發現! – Johnsyweb

+0

這可能是爲什麼我失去了我的歷史的原因。當您的viminfo文件可能被重置時,是否有任何常見情況? –

+0

@ alpha_989沒有我知道的東西,沒有用':wviminfo!'強有力地寫viminfo(注意:沒有爆炸它會讀取和合並),如果'&viminfo'選項接近空白,通常應該「重置」viminfo設置要寫入的數據(或者在讀取時接近空白)(儘管不完全是空的,即禁用viminfo)。 – ZyX

22

類型:

:verbose set history 

這會告訴你從那裏'history'是最後一集。

注意:如果它說:

history=20 
     Last set from ~/.vimrc 

...你沒有任何set hi=20set history=20.vimrc,你需要確保set history=10000set nocp,你必須通過所強調ZyX's answer。這是可能是爲什麼當你將它移動到初始化文件的末尾時,它發揮作用。

+1

(+1)Nice!..... – NPE

+1

'nocp'的確是問題所在。我已經接受了另一個答案,但希望這有足夠的提示來吸引人們的注意力,因爲「冗長」的一點是有幫助的。 – keflavich