Vim 自动完成以包含单词之间的标点符号

mil*_*epa 5 vim autocomplete

我目前正在使用 Tcl/Tk 进行编程。我有一些名为.entry,stdinand的小部件.entry,stdout,并且我正在使用supertab进行自动完成。逗号之所以存在,是因为我正在使用一个名为gridplus 的包,这就是我访问标准 Tk 小部件功能的方式。

使用自动完成功能的想法是,当我键入.entry,并按 Tab 键时,它将仅显示stdin可能stdout的答案。但是,当我这样做时,它会显示文件中所有可能的单词,而不仅仅是stdinand stdout。当我尝试autocomplpopneocomplcache时,它​​甚至不会弹出菜单.entry,

我猜 Vim 将 the 解释,为单词分隔符,即使没有空格。当我尝试交换,它时_,它起作用了,因为我认为 Vim 将其解释为一个单词。我想这更多地与 Vim 对单词的解释有关,而不是插件问题。但是,我想知道是否可以改变这种行为?

hol*_*eek 5

更改iskeyword选项以控制 Vim 如何决定单词是什么。对于你的情况,你可以添加一个逗号来告诉 Vim 你的单词也由逗号组成:

:set iskeyword+=,
Run Code Online (Sandbox Code Playgroud)

它并不完美地满足您的需求,但我认为它比默认的更好。

:help iskeyword当你在做的时候检查一下。