2
  1. AutoComplPop 自动弹出选择。我非常爱它。

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

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

如果我将它们安装在一起,就会发生一些问题。

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

那么,有什么解决方案可以让 AutoComplPop、Snipmate、SuperTab 协同工作?

4

1 回答 1

4

SuperTab 似乎是异常值,在这里:它的目的不是覆盖<Tab>键,而是使用该<Tab>键作为触发器提供完成(其底层逻辑与 ACP 大致相似)。

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

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

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

它的灵感来自我推荐的这个 Vim wiki 页面。

于 2013-05-29T05:59:39.330 回答