Я хотел бы знать, как можно проверить, действительно ли файл PHP действителен в VIM, не закрывая VIM каждый раз?
Спасибо
Я хотел бы знать, как можно проверить, действительно ли файл PHP действителен в VIM, не закрывая VIM каждый раз?
Спасибо
Вы можете выполнять команды оболочки в vim. Это то же самое, что вызывать php -l filename.php
из оболочки:
:!php -l %
У меня есть это отображение в мой файл ~/.vim/after/ftplugin/php.vim
, так что мне нужно только нажать F5:
map <F5> :!php -l %<CR>
Используйте :make
со следующими настройками php:
:set makeprg=php\ -l\ %
:set errorformat=%m\ in\ %f\ on\ line\ %l,%-GErrors\ parsing\ %f,%-G
Синтаксические ошибки будут отображаться в окне Quickfix. Вы можете открыть этот буфер с помощью :copen
или :cope
для краткости. Если вы хотите только открыть окно, только если в их ошибках используется :cwindow
.
Вы можете использовать :cnext
и :cprev
для перемещения по списку quickfix для перехода к соответствующим ошибкам. Я предлагаю Тиму Папу отличный unimpared.vim плагин, чтобы сделать перемещение по списку так же просто, как [q
и ]q
.
Чтобы упростить рабочий процесс, я предлагаю такое сопоставление:
nnoremap <f5> :update<bar>make<bar>cwindow<cr>
Теперь вы можете просто нажать <f5>
, и буфер будет обновлен (если необходимо), листером и любые ошибки появятся в окне быстрого исправления.
Чтобы сделать это немного более надежным, добавьте эти команды в ~/.vim/after/ftplugin/php.vim
. Пример ~/.vim/after/ftplugin/php.vim
setlocal makeprg=php\ -l\ %
setlocal errorformat=%m\ in\ %f\ on\ line\ %l,%-GErrors\ parsing\ %f,%-G
nnoremap <buffer> <silent> <f5> :update<bar>sil! make<bar>cwindow<cr>
Для получения дополнительной информации:
:h quickfix
:h makeprg
:h errorformat
Попробуйте http://www.vim.org/scripts/script.php?script_id=2736, это очень хорошо.
Существует еще один плагин под названием vim-phpqa
, который отмечает строку:
https://github.com/joonty/vim-phpqa
Для подсветки синтаксиса (что иногда дает подсказки об ошибках) не все еще сохраненный файл (обычно черно-белый на vim) просто отправляет файл синтаксиса:
:source $VIMRUNTIME/syntax/[the syntaxfile].vim
Примеры
:source $VIMRUNTIME/syntax/sh.vim
:source $VIMRUNTIME/syntax/php.vim
:source $VIMRUNTIME/syntax/javascript.vim
Вы должны попробовать плагин, например Neomake. Он покажет вам маркеры ошибок водостока для каждой ошибки синтаксиса PHP. Идите по линии, чтобы увидеть ошибку. Вы можете также связать его с детектором PHP Mess и PHP Stan, чтобы показать вам ошибки и возможные улучшения в вашем коде.
Это комбо очень мощное!
В случае, если вам интересно, я написал статью о том, как сделать Vim PHP IDE. Это в основном список необходимых плагинов, которые вы должны попробовать! Конечно, Ноомаке - часть этого.
Чтобы проверить синтаксис PHP без необходимости сохранения сначала, вы можете использовать:
map: w! php -l