Vim:如何使AutoComplPop,Snipmate,SuperTab一起工作?

时间:2013-05-29 03:11:20

标签: vim

  1. AutoComplPop会自动弹出选项。我非常喜欢。

  2. SuperTab允许我设置<Tab>的功能。我总是设置如下 let g:SuperTabDefaultCompletionType = "<c-n>" 通过这样做,如果AutoComplPop弹出许多选项,按<Tab>可以选择下一个选项。

  3. Snipmate在Vim中实现了一些TextMate的片段功能。

  4. 如果我将它们安装在一起,就会出现一些问题。

    例如,当我在test.py中第一次输入cl并按<Tab>时。 Snipmate工作。但是,当我第二次键入cl时,AutoComplPop会弹出包括class在内的选项。如果我按<Tab>,它会选择名为class的选项,而Snipmate不起作用。

    那么,任何让AutoComplPop,Snipmate,SuperTab协同工作的解决方案呢?

1 个答案:

答案 0 :(得分:4)

SuperTab似乎是异常值,在这里:它的目的是覆盖<Tab>密钥,但是使用<Tab>密钥作为触发器提供完成(使用基本逻辑大致类似于ACP)。

你似乎以一种非常人为的方式使用该插件IMO。

此映射允许您使用<Tab>选择完成菜单中的下一个项目:

inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<C-g>u\<Tab>"

我的灵感来自于this Vim wiki page