如何设置 VIM 进行 php 开发?

如何设置 VIM 进行 php 开发?

我已经尝试了很多次(但不是很聪明)来弄清楚如何设置 VIM、ctags 和 omnicomple 以进行 PHP 开发。

在谷歌搜索中我发现这个文件。但不知道如何使用它。

到现在为止我做了什么? 这里是:

  1. 我使用的是 Fedora 17 64 位操作系统
  2. 以 root 身份登录后发现我的 VIM 版本是VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May 8 2012 15:05:51)
  3. 按照此处的安装详细信息进行操作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

相关内容