Форматирование PHP-кода в Vim - PullRequest
25 голосов
/ 13 мая 2009

В настоящее время я использую Vim в качестве облегченной IDE. У меня есть плагины NERDTree, bufexplorer, supertab и ctags, которые делают почти все, что я хочу. Единственное, чего мне не хватает, так это автоматического форматирования кода.

Я работаю с каким-то грязным кодом PHP, который имеет несовместимые отступы и форматирование кода, в идеале я мог бы выделить код, который я хочу отформатировать (целые файлы тоже подойдут), и запустить команду, чтобы привести его в порядок.

У кого-нибудь есть хорошее решение для этой работы в Vim?

Ответы [ 5 ]

62 голосов
/ 13 мая 2009

Быстрый способ исправить отступ PHP в vim - это визуально выбрать строки, с которыми вы хотите работать, используя shift - v , а затем нажать равно ( = ) для запуска автоформатирования.

Что касается других проблем форматирования, то вы, вероятно, рассматриваете возможность использования поиска и замены регулярных выражений, например :%s/^M/\r/g (это ctrl - V ctrl - м , а не каретка - M ) для фиксации концов линий

11 голосов
/ 14 ноября 2011

Войдите в обычный режим в vim, а затем введите

1GVG=
9 голосов
/ 09 июля 2015

Формат в стиле 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 git@github.com:stephpy/vim-php-cs-fixer.git

Перезапустите Vim.

Отображение по умолчанию:

<leader>pcd " For directory
<leader>pcf " For flie
8 голосов
/ 07 декабря 2012

Существует плагин vim, который позволяет форматировать код изнутри vim. Он называется vim-autoformat, и вы можете прочитать об этом и скачать его здесь:

https://github.com/Chiel92/vim-autoformat

Интегрирует внешние программы форматирования кода в vim. Когда этот плагин установлен, вам нужно только установить внешний форматировщик кода, чтобы все работало «из коробки». Он поддерживает php formatter phpCB , который является лучшим php форматером, который я когда-либо видел.

ОБНОВЛЕНИЕ: phpCB больше не поддерживается из-за поведения, нарушающего код. Однако vim's indentfile всегда используется в качестве запасного варианта, что позволяет вам по крайней мере делать отступы для своего кода, когда нет доступного форматера.

2 голосов
/ 13 мая 2009

Веб-сайт vim не самый простой в навигации, но там есть множество центров жевательных нуг.

Например, я нашел этот скрипт для отступа php . Попробуйте.

...