VIM, un editor con baterías incluidas

../images/vim/fotillo.jpg
Autor:Hugo Ruscitti
Bio:Estudiante de Informática en la Universidad Tecnológica Nacional (UTN). Ha trabajado elaborando distribuciones de Linux y actualmente es socio de la cooperativa de trabajo gcoop. Su mayor hobby es la programación de videojuegos, actividad que difunde y realiza junto a los miembros de su sitio http://www.losersjuegos.com.ar/
Email:hugoruscitti@gmail.com
Web:www.pilas-engine.com.ar
../images/vim/logo.png

Para escribir código en python podrías usar cualquier editor de textos, hay un montón de buenas opciones y enfoques distintos para encarar el desarrollo.

Pero de todos los editores editores de texto que conozco, hay uno que merece especial atención, tanto por su enorme cantidad de usuarios, cómo por su funcionalidad y rareza. Sí: hablo de VIM.

¿Y por qué VIM?

Si utilizas mucho una computadora, y escribís programas la mayoría de ese tiempo, seguramente no te va a dar lo mismo usar cualquier editor, a media que ganas experiencia escribiendo código no querés repetir cosas, te vas a focalizar en hacer cambios mas importantes y con mayor velocidad.

VIM es un editor de textos pensado para esos casos, es un editor escrito por programadores (evidentemente) y para programadores. Una de las claves de su éxito, es que tiene comandos y complementos para hacer rápidamente las tareas cotidianas con la menor combinación de teclas y de forma muy directa.

Por ejemplo, en el caso de python, te facilita muchísimo navegar por estructuras de proyectos muy grandes, autocompleta código y te permite hacer cambios de porciones de código de manera sencilla.

Un ejemplo muy simple

Vamos a imaginar esta situación: descargaste una biblioteca escrita en python desde un repositorio y estás investigando cómo funciona.

Para abrir VIM, y explorar los archivos del proyecto podrías escribir en una consola algo cómo:

vim directorio_del_proyecto

y el editor te va a mostrar una lista de archivos para inspeccionar, si pulsas ENTER sobre alguno de de los archivos simplemente lo abre. Y colorea el código.

Si ahora quieres ir a una parte específica del código, lo mas probable es que tengas una idea del texto que esperas encontrar. Para estos casos VIM tiene una búsqueda rápida que se activa pulsando "/".

Por ejemplo, si queremos ir viendo las funciones de un archivo podemos escribir "/def" (la "/" inicia la búsqueda y "def" es lo que identifica a las funciones en python).

../images/vim/def.png

Ahora, con pulsar ENTER, dejamos de especificar la búsqueda. Y si pulsas "n" va a buscar la siguiente aparición, y con "N" la anterior.

Imaginemos que viste un nombre de método que te interesa. Si pulsas 'W', vim salta a la siguiente palabra, el nombre de la función o método, luego pulsando '*' salta a la siguiente aparición de esa función.

Este último atajo es muy útil para destacar nombres de referencias en una porción de código.

Autocompletado

El autocompletado es bastante completo, podrías autocompletar nombres de archivos usando ctrl+x ctrl+f, completar palabras por repetición con ctrl+p, o incluso utilizar un autocompletado contextual, por ejemplo dentro un programa python pulsando ctrl+x ctrl+o:

../images/vim/omni.png

lo único malo de estos tipos de autocompletado, es que son un poco mas difíciles de invocar. Así que una forma de solucionar el problema es instalar un plugin llamado SuperTab que invoca al autocompletado cuando pulsas la tecla tab (y es bastante inteligente para que tab siga sirviendo para identar).

Localizando archivos rápidamente

Algo común en los proyectos de software es que necesitas acceder y alternar entre varios archivos.

En vim hay varias opciones, podrías usar pestañas mediante comandos como :tabnew nombre_archivo o porciones de ventanas usando comandos :split o :vsplit.

Pero si quieres algo inmediato, una buena opción es tener a mano un plugin cómo FuzzyFinder, que te permite localizar archivos rápidamente mientras escribes parte de su nombre (sin importar directorios):

../images/vim/fuzzy.png

Incluso hay otro complemento llamado MRU, que abre una ventana con los archivos que editaste recientemente.

Configurando tu entorno

En este punto es importante mencionar que una de las claves de vim es su configuración.

Lamentablemente el editor trae un configuración por defecto muy mala, así que suele ser una buena idea dedicarle algunos minutos a investigar parámetros de configuración en blogs de programadores de python que usan vim.

Por ejemplo, la siguiente opción en tu archivo ~/.vimrc hace que pulsado la tecla F2 se ejecute el script que estás editando en ese momento, algo bastante útil a la hora de hacer prototipos:

map <F2> :w!<cr>:!python %<cr>

Te dejo algunos enlaces de gente sugiriendo cómo personalizar el editor:

Conclusión: tiempo al tiempo

Vim tiene un montón de características interesantes, y necesitaríamos una vida para verlo completo. Lleva un buen tiempo comenzar a utilizarlo y sentirse cómodo, pero con el tiempo se vuelve cada vez mas valioso y divertido. Te hace pensar en formas mas rápidas y sencillas de hacer las cosas.

Así que si estás buscando un buen editor de textos, mi recomendación es que tengas en cuenta a VIM, y lo abordes con algo de paciencia...

Help PET: Donate

blog comments powered by Disqus

Último cambio: Sat Jul 16 15:30:30 2011.  -  Esta revista está bajo una licencia Creative Commons.