2012-09-07 47 views
0

我在這臺電腦上(ubuntu),其中TAB被映射(我無法找到自動完成的地方)。我搜索,似乎這是由supertab完成的,雖然我找不到如何禁用它,我也沒有找到它的文件。如何確保密鑰的映射不會改變?

在我的~/.vimrc/usr/share/vim/vimrc文件中,沒有標籤鍵的映射。後面的文件包括debian.vim(並嘗試與/etc/vim/vimrc.local,但不存在),但也沒有任何標籤的映射,或對supertab的任何引用。

:map!輸出是這樣的:

i <S-Tab>  * <C-R>=BackwardsSnippet()<CR> 
i <Plug>SuperTabBackward & <C-R>=<SNR>13_SuperTab('p')<CR> 
i <Plug>SuperTabForward & <C-R>=<SNR>13_SuperTab('n')<CR> 
i <C-Tab>  * <Tab> 
i <Tab>  * <C-R>=TriggerSnippet()<CR> 
i <CR>  * <C-R>=<SNR>13_SelectCompletion(1)<CR> 
i <C-N>   <Plug>SuperTabForward 
i <C-P>   <Plug>SuperTabBackward 
i <C-R><Tab> * <C-R>=ShowAvailableSnips()<CR> 
i <C-X>   <C-R>=<SNR>13_ManualCompletionEnter()<CR> 

這表明SUPERTAB確實映射這些鍵。

我試圖把nomap! <TAB>在我~/.vimrc,但它似乎像SUPERTAB是~/.vimrc被讀取之後被加載這是行不通的。

我的問題是,我該如何禁用supertab,或者確保ViM不會讓任何人將TAB映射到其他任何東西?

回答

3

Supertab是一個插件。因此,它應該安裝在~/.vim/的某處。有很多方法可以安裝插件(默認,病原體,vundle等)。看看~/.vim/bundle(如果你使用病原體)或~/.vim/plugin

如果它不在那裏,它可能已經安裝在/usr/share/vim/vim7x/這是非常擁擠,不應該有任何觸及:祝你好運。

無論如何,你可以通過:verbose map!來查看映射的設置位置(因此,如果你想刪除它,插件的安裝位置),或者你可以簡單地配置Supertab不使用<tab>。請參閱:help supertab

+0

它在'〜/ .vim/plugin'中並且更改默認工作:) – Shahbaz

2

如果你不想完全擺脫supertab可以重新映射使用類似的默認鍵綁定(在你的~/.vimrc):

let g:SuperTabMappingForward = '<c-space>' 
let g:SuperTabMappingBackward = '<s-c-space>' 

如果你只是想插入文字標籤字符,supertab通過映射文字標籤到ctrl + 標籤默認情況下(很不幸在終端中不起作用)很容易。它可以通過使用類似的定製:

g:SuperTabMappingTabLiteral='<C-`>' 

最後,你總是可以在插入模式CTRL-V前面加上逃跑的映射。

參見:h supertab-forwardbackward瞭解更多信息。 (如果您還沒有構建supertab文檔,則可能不起作用)