how - Formato de código PHP dentro de Vim
vim cancel edit (5)
Actualmente estoy usando Vim como un IDE ligero. Tengo NERDTree, bufexplorer, supertab y ctags plugins que hacen casi todo lo que quiero. Lo único que me falta es el formato de código automático.
Estoy trabajando con un código PHP desordenado que tiene sangría y formato de código inconsistentes, idealmente podría resaltar el código que quiero formatear (archivos completos también estaría bien) y ejecutar un comando para ordenarlo.
¿Alguien tiene una buena solución para esto trabajando en Vim?
Formato en estilo PSR-2
Para la nueva Guía de estilo de codificación estándar PSR-2 use el PHP-CS-Fixer .
Hay un plugin Vim: Vim-php-cs-fixer
Cómo instalar:
Instale PHP-CS-Fixer
(globalmente con Composer
):
composer global require friendsofphp/php-cs-fixer
Luego agrega el plugin Vim ( Pathogen
):
cd ~/.vim/bundle
git clone [email protected]:stephpy/vim-php-cs-fixer.git
Reinicie Vim.
Mapeo predeterminado:
<leader>pcd " For directory
<leader>pcf " For flie
El sitio web de vim no es el más fácil de navegar, pero hay una gran cantidad de turrones masticables allí.
Por ejemplo, encontré este script PHP php allí. Darle una oportunidad.
Hay un complemento de vim que permite el formateo de su código desde vim. Se llama vim-autoformat y puedes leerlo y descargarlo aquí:
https://github.com/Chiel92/vim-autoformat
Integra programas de formateo de código externo en vim. Cuando se instala este complemento, solo tiene que instalar un formateador de código externo para que todo funcione de la caja. Es compatible con el formateador php phpCB , que es el mejor formateador php que he visto hasta ahora.
ACTUALIZACIÓN: phpCB ya no es compatible, debido al comportamiento de ruptura de código. Sin embargo, el archivo de indent de vim siempre se usa como respaldo, lo que le permite al menos sangrar su código cuando no hay un formateador disponible.
Ingrese el modo de comando en vim y luego escriba
1GVG=
La forma rápida de corregir la sangría de PHP en vim es seleccionar visualmente las líneas con las que desea trabajar utilizando shift - v , y luego presionar igual ( = ) para activar el formateo automático.
En cuanto a otros problemas de formato, es probable que esté considerando emplear alguna búsqueda de expresiones regulares y reemplazos, como :%s/^M//r/g
(eso es ctrl - V ctrl - m , no caret - M ) para corregir los finales de línea