http://www.vimer.cn/2010/01/%E9%80%9A%E8%BF%87vim%E5%AD%97%E5%85%B8%E8%A1%A5%E5%85%A8%EF%BC%8C%E5%AE%9E%E7%8E%B0php%E5%87%BD%E6%95%B0%E5%90%8D%E8%87%AA%E5%8A%A8%E8%A1%A5%E5%85%A8.html
PHP字典文件:http://svn.php.net/repository/phpdoc/doc-base/trunk/funclist.txt
添加入vimrc文件中的句子可以改成:au FileType php setlocal dict+=$VIM/vim73/personal/php_funclist.txt
之前的文章已经介绍过vim中实现各种补全,这篇文章我们主要以php为例,实现通过字典补全,来自动补全php函数。
首先,我们从下面的url下载一个php的函数字典文件
http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt
然后改名字为 php_funclist.txt,并放在vim的安装目录的ExtraVim下(笔者的是C:/vim/ExtraVim)
然后,我们就可以通过如下两行代码来实现将php_funclist.txt字典文件载入到vim中啦~
set dictionary-=$VIM/ExtraVim/php_funclist.txt dictionary+=$VIM/ExtraVim/php_funclist.txt
set complete-=k complete+=k
注意上面的代码中,我的php_funclist.txt的路径是$VIM/ExtraVim/php_funclist.txt,$VIM的意思是vim的安装目录,比如我安装在C:/vim/下面,那么$VIM 就是 C:/vim。
呵呵,看起来好像结束了,但是别忙,有一个很重要的问题就是,如果只是这样设置的话,那么当我在编辑cpp文件时,也会自动调用php的函数补全,这可不是我想看到的。
解决方法如下:
au FileType php call AddPHPFuncList()
function AddPHPFuncList()
set dictionary-=$VIM/ExtraVim/php_funclist.txt dictionary+=$VIM/ExtraVim/php_funclist.txt
set complete-=k complete+=k
endfunction
简单解释一下,即只有当文件类型是php的时候(无论你是打开一个.php文件,或者new xx.php,或者setf php),我才会加载php_funclist.txt的词典。
OK,有图有真相,截图如下: