我在OSX Lion上使用vim 7.3。我在github上安装了来自garbas/vim-snipmate的snipmate,似乎<c-n>在某些地方无法工作,而github却可以。
当我尝试用tab键完成文件中现有的单词,或者如果我想用tab键完成ctag列表中的某些内容时,我得到的只是空格added...but <c-n> works!
如果我自由地输入<tab>,它就可以工作。
为什么它在某些情况下没有完成,而在另一些情况下却完成了?
发布于 2012-05-14 11:59:03
你搞混了,<C-n>和Snipmate的tab-expansion系统彼此没有任何关系。
<C-n>是一个内置的全功能快捷键:它允许你用当前打开的缓冲区和其他来源中的其他单词来完成当前键入的内容。
Snipmate的<Tab>将任意存根扩展为完整的代码片段:
for<Tab>将在JS文件中给出以下内容:
for (var i = 0; i < Things.length; i++) {
}这不是一个完成机制。如果您没有为刚才键入的几个字母定义特定于语言的代码片段,Snipmate将不会执行任何操作:
function farting(){
return "prrt!";
}
far<Tab>不展开任何东西,因为您没有far代码片段,而omnicompletion将使用ting完成。
因为您想让<Tab>做两件不相关的事情,所以您可能需要一个像SuperTab这样的插件。
https://stackoverflow.com/questions/10576904
复制相似问题