更新于 2013-01-18 05:47:55 UEANER

目录结构

$ tree -C ~/.vim | grep -v ".cnx"

|-- dict
|   |-- php.dict
|-- syntax
    |-- php.vim 

1. PHP5.4语法文件

$ cd ~/.vim/syntax/
$ wget https://raw.github.com/ueaner/tools/master/vim/syntax/php.vim

2. PHP函数字典

$ cd ~/.vim/dict/
$ wget http://svn.php.net/viewvc/phpdoc/doc-base/trunk/funclist.txt?view=co -Ophp.dict
或者直接
$ wget http://svn.php.net/viewvc/phpdoc/doc-base/trunk/funclist.txt?view=co -O$HOME/.vim/dict/php.dict

3. 配置vimrc

" PHP 自动完成
" 设置自动完成的监听方式:尾部添加一个字母和清除一个字母
set complete-=k complete+=k
" 设置字典补全文件
set dictionary=$HOME/.vim/dict/php.dict

" 使用 tab 键自动完成或尝试自动完成
function! InsertTabWrapper()
    let col=col('.')-1
    if !col || getline('.')[col-1] !~ '\k'
        return "\<TAB>"
    else
        return "\<C-N>"
    endif
endfunction

" 重新映射 tab 键到 InsertTabWrapper 函数
inoremap <TAB> <C-R>=InsertTabWrapper()<CR>

注:VIM 内置了补全关键字功能,即补全当前编辑的单个文件和 :tabe / :vs 出来多个文件中已出现的英文字符串, 使用 CTRL+N 快捷键进行补全(可以通过 :help i_CTRL-N 查看帮助文档), 而这里的字典补全 set dictionary 文件同样是使用 CTRL+N 进行补全, (可以通过 :help compl-dictionary 查看帮助文档) 所以此时的 TAB 已同时具有了关键字补全和字典补全。 当然 CTRL+P 具有 CTRL+N 同样的功能你也可以将 "\<C-N>" 替换成 "\<C-P>"

使用

插入模式下按 TAB 键对 PHP 函数进行补全。 另可以使用 <CTRL+X><CTRL+O> (可以 CTRL+X+O 三键一起按)快捷键进行函数补全, 包括了 C/java/javascript/lua 等常用语言(调用内置的 Omni completion)。

转载请注明出处。
本文地址:http://blog.aboutc.net/php/4/vim-php-autocomplete-with-tab

评论:1

wawa 2017-03-08 17:24:56
第一次留言
关闭高亮高亮 分享到新浪微博分享到新浪微博