2010-07-01 62 views
5

在Vim 7中,Ctrl-X Ctrl-O顯示了一個可能值的列表,但是當我經常使用自動完成功能時,我發現這個按鍵序列太長。例如,在一個HTML文件中,我想在輸入<後跟一個或兩個字母后自動彈出列表。在一個CSS文件中,我想在我點擊「:」鍵後看到列表。有沒有辦法設置它?在某些字符而不是Ctrl-X Ctrl-O上顯示Vim omnicomplete?

回答

8

要激活輸入「:」的omnicompletion,您可以使用 下面的映射。

imap : :<c-x><c-o> 

的缺點是,每按一次「:」 omnicompletion將 被激活,打字甚至當:在註釋或其他任何情況下 在你不想omnicompletion「」。

我制訂CTRL空間爲主動omnicompletion:

imap <c-space> <c-x><c-o> 

這使我的選擇,以激活全方位每當我需要它。

+0

我必須在這一個同意哈比。最好在需要時完全觸發全部完成,而不是自動觸發。全面完成應該是幫助你的工具,而不是你依賴的柺杖。 – jamessan 2010-07-01 19:20:21

+3

我要說的是,它限制在CSS文件類型(如你鍵入唯一的一次:當你想那些選項 'AU文件類型的CSS IMAP::' – sleepynate 2010-07-01 20:07:00

+0

@sleepynate感謝,這正是我想了! – geoffeg 2010-07-04 17:34:10

1

我發現更容易的另一種替代方法是隻需要在自動完成時按兩次選項卡,而在常規選項卡中按一次即可。 添加以下行到您的〜/ .vimrc

imap <tab><tab> <c-x><c-o> 
相關問題