【问题标题】:A new language, how to auto-complete in windows vim?一种新语言,如何在 windows vim 中自动完成?
【发布时间】:2015-03-15 10:25:57
【问题描述】:

我在 windows 中使用 Gvim。

通常情况下,当我们输入一些字符然后按Ctrl-n,vim 会显示一些tag,但那些tags 只包含当前文件中预先输入的单词。

现在,我需要它以一种新语言工作,并显示已在其他文件中定义的 tag

所以,我为这种新语言创建了一个新的\\.ctags,并通过exuberant-ctags 生成标签文件。 我可以在当前文件中选择一个函数,然后按Ctrl-] 跳转到函数定义,但是这个函数是在其他文件中定义的。效果很好。

当我输入一些字符时,我不知道如何让它显示由ctags 生成的标签。

请帮助我。非常感谢。

我的英语很差,希望你能明白我说的话。

【问题讨论】:

    标签: windows vim autocomplete exuberant-ctags


    【解决方案1】:

    CTRL-N 只是默认补全(从各种来源补全,包括打开的缓冲区和标签数据库)。还有许多更专业的补全(都以 CTRL-X 开头),其中 标签补全,通过 CTRL-X CTRL-] 触发,参见:help i_CTRL-X_CTRL-]。如果你已经正确配置了'tags' 选项(这样你的标签数据库就被找到了)并且标签跳转确实有效,那么就开始使用它吧。

    某些语言/文件类型还定义了特定于语言的补全(用于语言关键字等),通常通过 'omnifunc' 选项并由 CTRL-X CTRL-O 触发。你自己也可以这样写。

    【讨论】:

    • 非常感谢。卸载 vim-autocomplpop 插件后,它现在可以工作了。也许 vim-autocomplpop 插件有一些问题。你的回答太棒了。现在我知道了更多的 vim 命令。