我在这台计算机(ubuntu)上, TAB 被映射(我找不到位置)自动完成。我搜索过,似乎这是由supertab完成的,虽然我找不到如何禁用它,也没有找到它的文件。
在我的~/.vimrc
和/usr/share/vim/vimrc
文件中,没有Tab键的映射。后面的文件包含debian.vim
(并尝试使用/etc/vim/vimrc.local
,但这不存在)但是也没有任何tab选项或任何对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确实映射了这些键。
我尝试将 我的问题是,如何禁用supertab,或者确保ViM不允许任何人将 TAB 映射到其他任何地方?nomap! <TAB>
放入我的~/.vimrc
,但它不起作用,因为在读取 ~/.vimrc
之后似乎正在加载。 / p>
答案 0 :(得分:3)
Supertab是一个插件。因此,它应该安装在~/.vim/
的某个地方。有许多方法可以安装插件(默认,病原体,vundle等)。查看~/.vim/bundle
(如果您使用病原体)或~/.vim/plugin
。
如果它不存在,它可能已安装在/usr/share/vim/vim7x/
中,这是非常拥挤的,不应该以任何方式触及:祝你好运。
无论如何,您可以:verbose map!
查看映射的设置位置(因此,如果要删除它,可以安装插件的位置),或者您可以简单地将Supertab配置为不使用<tab>
。请参阅:help supertab
。
答案 1 :(得分:2)
如果您不想完全摆脱supertab
,可以使用类似(~/.vimrc
)中的内容重新映射默认的键绑定:
let g:SuperTabMappingForward = '<c-space>'
let g:SuperTabMappingBackward = '<s-c-space>'
如果您只想插入文字 tab 字符,supertab可以通过默认情况下将文字标签映射到 ctrl + 标签来实现不幸的是在终端不起作用)。可以使用以下内容进行自定义:
g:SuperTabMappingTabLiteral='<C-`>'
最后,您总是可以通过在插入模式下使用 ctrl-v 添加映射来转义映射。
有关详细信息,请参阅:h supertab-forwardbackward
。 (如果您尚未构建supertab
个文档)