我已经尝试了很多次(但不是很聪明)来弄清楚如何设置 VIM、ctags 和 omnicomple 以进行 PHP 开发。
在谷歌搜索中我发现这个文件。但不知道如何使用它。
到现在为止我做了什么? 这里是:
- 我使用的是 Fedora 17 64 位操作系统
- 以 root 身份登录后发现我的 VIM 版本是
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May 8 2012 15:05:51)
- 按照此处的安装详细信息进行操作http://www.vim.org/scripts/script.php?script_id=3171
安装详细信息放置在 $HOME/.vim/autoload/phpcomplete.vim 中并启用 php ftplugin
我还遗漏了什么?如何开始使用 omnicomplete。(这是我第一次使用 omnicomplete)
我为什么没有尝试 IDE?
我有一台运行 LAMP 堆栈的单核机器。不想拖慢一切,因此坚持使用命令行环境。
答案1
Vim 已经实现了 PHP 补全。所讨论的文件只是对默认功能的改进。无论如何,要使其真正有用,您需要一个tags
使用 exuberant-ctags 生成的文件。
阅读:help ins-completion
,特别是关于“全能补全”的部分,以及:help ft-php-omni
。
你错过了重要的步骤:谷歌“vim php ide”(不带引号)。
答案2
看看我的 VIM 配置: https://github.com/exu/vim-dotfiles
- 我正在使用 PIV (VIM 的 PHP 集成) + CTags (exuberant-ctags)
对于标签生成,我使用以下命令:
ctags-exuberant -f tags \
-h ".php" -R \
--PHP-kinds=cfiv \
--totals=yes \
--tag-relative=yes \
--PHP-kinds=cfiv \
--regex-PHP='/(abstract)?\s+class\s+([^ ]+)/\2/c/' \
--regex-PHP='/interface\s+([^ ]+)/\1/i/' \
--exclude="*.js" \
--exclude=".svn" \
--exclude=".git"
UltiSnips 作为代码生成的片段(VIM 最强大的片段)
看看我的 .vimrc,其中也有一些与 PHP 相关的东西。
答案3
要为 ctags 生成标签,你需要旺盛-ctags。
要遵循的伪步骤:
1)在机器上安装 exuberant-ctags
2)在命令行中发出 ctags 命令(@jacek 写的)
3)在 vim 的正常模式下,输入:
:set tags=<tags location>
4) 您现在可以使用Ctrl-like]命令来查看函数定义。
TagBar 可用于显示本地缓冲区的函数和变量名称:Github标签栏
为了节省每次 vim 启动时输入步骤(4)的时间,我在 vimrc 中执行了以下内容以执行 php 特定的设置:
autocmd FileType php call SetPHPOptions()
function! SetPHPOptions()
setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab makeprg=php-xdebug\ %
:call tagbar#autoopen(0)
:set tags=~/.vim/php.tags
endfunction