Форматирование кода PHP в Vim
В настоящее время я использую Vim в качестве легкой IDE. У меня есть NERDTree, bufexplorer, supertab и ctags плагины, которые делают почти все, что я хочу. Только большая вещь, отсутствующая для меня, - это форматирование автоматического кода.
Я работаю с каким-то запутанным PHP-кодом, который имеет непоследовательное отступы и форматирование кода, в идеале я мог бы выделить код, который я хочу отформатировать (целые файлы тоже будут хороши) и запустить команду, чтобы привести его в порядок.
Есть ли у кого-нибудь хорошее решение для работы в Vim?
Ответы
Ответ 1
Быстрый способ исправления отступов PHP в vim состоит в том, чтобы визуально выбрать линии, с которыми вы хотите работать, используя shift - v, а затем нажмите equals (=), чтобы вызвать автоматическое форматирование.
Как и в случае с другими проблемами форматирования, вы, вероятно, смотрите на поиск и замену регулярных выражений, например :%s/^M/\r/g
(<<33 > - v ctrl - m, а не caret - m) для фиксации окончаний строки
Ответ 2
Войдите в обычный режим в vim, а затем введите
1GVG=
Ответ 3
Формат в стиле PSR-2
Для нового стандарта Руководство по стилю кодирования PSR-2 используйте PHP-CS-Fixer.
Существует плагин Vim: Vim-php-cs-fixer
Как установить:
Установите PHP-CS-Fixer
(глобально с помощью Composer
):
composer global require friendsofphp/php-cs-fixer
Затем добавьте плагин Vim (Pathogen
):
cd ~/.vim/bundle
git clone [email protected]:stephpy/vim-php-cs-fixer.git
Перезапустите Vim.
Отображение по умолчанию:
<leader>pcd " For directory
<leader>pcf " For flie
Ответ 4
Существует vim-плагин, который позволяет форматировать ваш код из vim. Он называется vim-autoformat, и вы можете прочитать об этом и скачать его здесь:
https://github.com/Chiel92/vim-autoformat
Он интегрирует внешние программы форматирования кода в vim. Когда этот плагин установлен, вам нужно только установить внешний формат текста, чтобы все было готово к работе. Он поддерживает php-форматтер phpCB, который является лучшим форматом php, который я видел до сих пор.
UPDATE: phpCB больше не поддерживается, из-за нарушения кода. Тем не менее, vim indentfile всегда используется как резерв, позволяя вам по крайней мере отступать от вашего кода, когда нет доступных форматера.
Ответ 5
веб-сайт vim - это не самый простой способ навигации, но там есть множество жевательных нуг-центров.
Например, я нашел этот php indenting script. Попробуйте.