Vim 默认有自动补全的功能.的确这个功能是很基本的,并且可以通过插件来增强,但它也很有帮助.方法很简单. Vim 尝试通过已经输入的单词来预测单词的结尾. 比如当你在同一个文件中第二次输入 "compiler" 时,仅仅输入 "com" 然后保持在插入模式,按 Ctrl+n 键就可以看到 Vim 为你补全了单词.很简单,但也很有用.
使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码的时候还是很好用的,但是到了 C++ 的环境情况就不同了,各种作用域的存在使得仅仅依靠符号表匹配的方式完全无法发挥作用. 比如我输入一个 SomeType 的对象 bar,然后我想得到成员变量 a 的提示,但是却没有任何事情发生: struct SomeType { int a; }; void f
当使用vim编辑文件自动补全文件名称的时候,可能会出现_arguments:451: _vim_files: function definition file not found的错误,这个时候一般都是出现在终端使用ohmyzsh插件的原因,这个时候可以考虑删除自动跳转的插件.~/.zcompdump,如果还不可以,可以执行exec zsh,这样一般问题就解决了.