Hoy me di cuenta de algo que no me había dado cuenta. (duuuh) Siempre, cuando necesitaba buscar alguna función en PHP.net, hacía la típica: iba a Google, tipeaba el nombre de la función, ubicaba PHP.net y hacía click. Bueno, como casi todos los grandes descubrimientos de la humanidad, estaba en la portada de PHP.net y por accidente hice clic donde no debía. Descubrí esto:

Sin embargo, el verdadero potencial de este post está por verse, veamos algunos comandos semi-avanzados de vim que nos hará la vida mucho más fácil al trabajar con este editor.

Lo primero, (y más importante) a mi gusto, es instalar el manual de PHP en vim. Para esto, debemos tener instalado man y pear. De ahí, se procede a la instalación del manual.

En CentOS, todo esto se haría como:

# yum install php-pear man
# pear install doc.php.net/pman

Y estaríamos con el 80% de la pega adelantada ya. Lo más importante, sin embargo, viene ahora.

Debemos, primero que nada, abrir el archivo ~/.vimrc. Si no existe, lo creamos. En ella, podemos configurar a nuestro gusto total vim, incluyendo opciones tan avanzadas como agrupar código (en una sola línea), poner el número de línea del código o consultar el manual de PHP con una tecla mientras estamos en la función. (Muy al estilo man).

Esta es mi configuración actual de vim:

set tabstop=2
set autoindent
set incsearch
set number
set keywordprg=pman
autocmd FileType php let php_folding=1
au BufWinLeave * mkview
au BufWinEnter * silent loadview

Explicaré cada línea:

set tabstop=2: Esto nos permite que, cuando apretemos tab, inserte espacios en vez de un tab. La cantidad de espacios es definida después del signo igual.
set autoindent: Esta muy útil función permite que vim siga las reglas de indentación que tiene el archivo. Muy útil.
set incsearch: permite que, muy al estilo búsqueda rápida de Firefox, se vaya ubicando automáticamente el cursor en cuanto estemos buscando alguna frase.
set number: le pone número a las líneas.
set keywordprg=pman: esta línea hace que integremos pman con vim, para que de esta manera, al apretar “K” (k mayúscula) sobre alguna función en específico aparezca el manual.

El resto: Activa la agrupación de código. La primera línea inicia la característica en sí, mientras que las dos siguientes guardan y cargan automáticamente las agrupaciones respectivamente. Se debe utilizar en conjunto con algunos comandos:

:20,40 fo
Para agrupar de la línea 20 a la 40.
zfa}
Para agrupar de aquí a la próxima llave, aunque ojo: se debe estar posicionado sobre la llave que abre!
zd
Para eliminar el fold actual
zm
Para refoldear todos los folds anteriores.Para más comandos útiles, visitar la tercera fuente.

Hay bastantes más consejos para vim, pero no todos me funcionaron. Una de las más populares que he visto dando vueltas por internet es activar la vista de código HTML o queries dentro de los string, pero no me funcionaron. Tampoco me funcionó desactivar los tags cortos, así que ojo con eso.

Fuentes: PHPSLACKER bjori doesn’t blog Linux.com