vimscript中这两种类型的完整函数之间的功能是否存在差异?
答案 0 :(得分:18)
从技术上讲,用户定义的实现没有区别
完成(请参阅:help compl-function
,:help 'completefunc'
)和Omni
完成(请参阅:help compl-omni
,:help 'omnifunc'
)。他们两个都在工作
调用特殊语义的函数来定位它的开始
表达要在当前位置完成,并提供适当的
完成建议(见:help complete-functions
)。
如果这两种完成方式之间存在差异,则表明
是完成的目的。用户定义的完成应该由
用户自己根据特定条件特定完成
理念。 Omni完成应该是特定于文件类型的。因此,分开
不同文件类型的Omni完成功能由自动加载
Vim来自autoload/{ft}complete.vim
个文件,{ft}
代表
特定的文件类型。查看C或Python的Omni完成文件
文件类型作为参考。