令人惊讶的是,当您熟悉vim时,您可以比Eclipse之类的标准IDE更快地编写代码.但我真正想念的一件事是代码完成,特别是对于长变量名和函数.
有没有办法在vim中为Perl启用代码完成?
Ctrl- P(获取上一个匹配)和Ctrl- N(获取下一个匹配)是一种伪代码完成.他们基本上搜索您正在编辑的文件(Backwards for Ctrl- P,Forwards for Ctrl- N)(以及任何打开的缓冲区,如果您在TAG文件中使用TAGS中的任何内容),那么以您输入的内容开头并添加下拉列表.它对变量和函数名称的效果非常好,即使它不是智能感知.通常我使用Ctrl- P因为我正在寻找的变量或函数通常落后于代码.此外,如果您保持Vim的相同副本打开,它将搜索您之前打开的文件.
Vim 7支持全向完成.
例如,我在我的vimrc中有这个
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
然后,当我在插入模式下按Ctrl-x Ctrl-o时,我得到一个自动完成可能性的下拉列表.
这是perl的omnicfunc .不知道它有多好用.
好吧,Vim的通用完成机制非常好,只需在插入模式下使用Ctrl-N即可.此外,使用Cx Cl完成线路非常方便.
另请查看perl的这个vim脚本.
如果将以下内容添加到〜/ .vim/ftplugin/perl.vim文件中,标准CTRL-N
和CTRL-P
工作会更好:
设置iskeyword + =:
然后它将自动完成模块名称等.