1

问题是当 jedi-vim 只找到一个自动完成匹配项时,它会自动插入该匹配项。我需要以某种方式禁用此功能。

我已经尝试过的:

  • let g:jedi#smart_auto_mappings = 0,但它只禁用自动from ... import ...插入;
  • let g:jedi#popup_on_dot = 0,但它也会禁用点选项上的弹出窗口(所以我需要输入<C-space>才能看到它)。
  • let g:jedi#popup_select_first = 0也无济于事,因为它只会禁用弹出菜单中的第一个匹配选择,但不会阻止自动插入唯一匹配。

另外我没有安装任何其他自动完成插件。如果有帮助,是我的 .vimrc 文件

有没有办法禁用仅匹配功能的自动插入但保持弹出点?

PS您可以使用此示例重新创建此行为:

class A(InvisibleClass):
    i = 1

然后,当您键入A并按点时,i将自动插入。

4

1 回答 1

3

此行为由 Vim 的completeopt选项控制。jedi-vim 将其设置为,menuone,longest,preview因为您没有更改它(从这里开始)。您应该在您的.vimrcto include中明确设置它noinsert

Vim 的文档说noinsert如果longest存在则无效,但这与我实际看到的行为不匹配(NVIM 0.0.0-alpha+201510011522 (compiled Oct 5 2015 14:55:04))。

于 2015-10-21T15:58:16.977 回答