2012-05-14 22 views
1

我在OSX Lion上使用vim 7.3。我在github上安裝了來自garbas/vim-snipmate的snipmate,看起來<tab>在某些地方不起作用,而<c-n>則起作用。<tab>使用snipmate時會插入空格; <c-n>作品

當我嘗試tab-complete文件中現有的單詞或如果我想從我的ctags列表中tab-complete東西,我所得到的是空間被添加...但<c-n>工程!

如果我自由輸入<tab>,那確實有效。

爲什麼它在某些情況下沒有完成,但在其他情況下完成?

回答

1

你很困惑,<C-n>和Snipmate的標籤擴展系統沒有任何關係。

<C-n>是omnicompletion的內置快捷方式:它允許您使用當前打開的緩衝區和其他來源的其他詞完成當前正在輸入的內容。

Snipmate的<Tab>任意擴展到存根代碼全片段:

for<Tab> 

會給你在這個JS文件:

for (var i = 0; i < Things.length; i++) { 

} 

這不是一個完成的機制。因爲你沒有一個far片段而omnicompletion

function farting(){ 
    return "prrt!"; 
} 

far<Tab> 

不會展開任何事情:如果你沒有爲你剛剛輸入的幾個字母定義的特定語言的代碼片段,Snipmate不會做任何事情將完成ting

因爲你想要你的<Tab>做兩件不相關的事情,你可能需要一個像SuperTab這樣的插件。

相關問題