2011-02-13 155 views
9

我尋覓了很多在互聯網上,Vim的幫助,所以我希望這不是一個重複的問題...總之:忽略大小寫上自動完成

是否有任何方式Vim的自動完成功能,打開不區分大小寫?我不打算用它來編碼,但是我在Vim中寫了很多文本,而且我錯過了複雜和/或長的單詞。

例如,假設我寫:

火山肺矽病 是...

現在我打算寫一個病:

與患者氣動

然後<C-n>和爆炸:-P

回答

13

根據文檔,似乎可以使用以下兩種選擇:在插入模式ignorecaseinfercase

'infercase' 'inf'  boolean (default off) 
      local to buffer 
      {not in Vi} 
When doing keyword completion in insert mode |ins-completion|, and 
'ignorecase' is also on, the case of the match is adjusted depending 
on the typed text. If the typed text contains a lowercase letter 
where the match has an upper case letter, the completed part is made 
lowercase. If the typed text has no lowercase letters and the match 
has a lowercase letter where the typed text has an uppercase letter, 
and there is a letter before it, the completed part is made uppercase. 
With 'noinfercase' the match is used as-is. 

根據其工作ins-completion的文檔,即自動完成。

您應該添加下列選項中你的.vimrc:
set ignorecase
set infercase

5

在問題描述了使用情況不是很好用,但可能仍然有趣:

:set wildignorecase " Ignore case when completing file names and directories. 
        " Has no effect when 'fileignorecase' is set, which is the case (no pun intended) 
        " by default for systems where case in file names is normally ignored, 
        " notably Windows. 

在這裏找到了在SO:d 這是一個非常新的特徵,只有7.3.072可用。

+1

看起來我需要檢查我的搜索過程。無論如何,running:ve會爲我打印7.3,所以我不知道如何以這種精度找到我的Vim版本。此功能不在我的幫助文件中。但是,經過互聯網搜索後,看起來像這個選項是爲了打開文件名完成時不區分大小寫。這是正確的嗎?如果是這樣,這不是我所需要的... – sidyll 2011-02-13 22:40:15

+0

不知道我怎麼讀錯了。看起來這不是你要找的。 – 2011-02-13 23:15:19

1

我不知道wildignorecase,但

:set ignorecase 

確實爲我的伎倆(用vim 7.2)。

+0

這是打算搜索模式,對不對? – sidyll 2011-02-13 22:36:56