1

Я много (но не очень умно) пытался выяснить, как настроить VIM, ctags, omnicomple для разработки на PHP.

На Google, я нашел этот файл. Но понятия не имею, как его использовать.

Что я сделал до сих пор? Вот:

  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. Не хотел все тормозить и поэтому придерживался среды командной строки.

3 ответа3

1

Vim уже делает завершение PHP. Данный файл является лишь улучшением по сравнению с функцией по умолчанию. В любом случае, чтобы сделать его действительно полезным, вам понадобится файл tags который вы генерируете с помощью exuberant-ctags.

Читайте :help ins-completion , в частности, часть о "омни завершении", и :help ft-php-omni .

И вы пропустили важный шаг: гугл "vim php ide" (без кавычек).

0

чтобы генерировать теги для ctags, вам понадобятся exuberant-ctags.

Псевдо шаги, чтобы следовать:

1) установить exuberant-ctags на машину
2) введите команду ctags в командной строке (что написал @jacek)
3) в нормальном режиме vim введите:

:set tags=<tags location>

4) Теперь вы можете использовать Ctrl - ] подобные команды для просмотра определений функций.

TagBar может использоваться для отображения имен функций и переменных локальных буферов: Github tagbar

Чтобы сохранить шаг (4) при каждом запуске vim, в моем 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
0

Посмотрите на мою конфигурацию VIM: https://github.com/exu/vim-dotfiles

  • Я использую PIV (PHP Integration For VIM) + 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .