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