如何通过 ctags 基于部分匹配在 vim 中自动完成

How to autocomplete in vim based off partial matching via ctags

示例:

在另一个目录的文件中,我有一个函数定义如下:

def _generator_function_1(self):
   passs

在我当前目录的文件中,我输入了以下内容:

def test_generI

其中 I 表示我的光标位置。

我想使用 vim 的自动完成功能(即通过 ^n^p)将函数定义自动完成到 test_generator_function_1。有没有一种方法可以配置 vim 自动完成以匹配不基于完整前缀的内容?或者,在 ctags 中有没有一种方法可以根据关键字而不是完整的功能定义来生成标签?

编辑: 澄清一下,我特别想知道是否存在基于关键字的自动完成功能。我通过设置标签自动完成,所以如果我输入 "_gen",那么 ^n 将完成给我 "_generator_function_1"。然而,在我的示例中,正是因为字符串以 "test" 为前缀,所以 "test_gener" 作为开始键入的单词不会导致任何自动完成建议。所以我想知道这是否可以以某种方式成为可能。

  1. Vim 没有 "autocompletion functionality"。它只有"completion",没有"autocompletion"。您需要 "autocompletion".
  2. 的插件
  3. 不,如果不认真编写 vim 脚本,就无法获得您想要的行为。参见 :help complete-functions