martes, 8 de noviembre de 2011

Vim hecho fácil: cómo conseguir las características de tu IDE favorito en Vim

En el post anterior estaba referenciado (aunque lo omitimos) pero finalmente decidimos que valía la pena traerlo (y corregimos el enlace). Si quieren un consejo empiecen yendo a los enlaces del final (el Wiki y el repositorio de scripts) de ahí parte todo. Para dejarlo trabajando en Windows tendrán que modificar sus PATH (para que ctags haga lo suyo) y un par de detalles adicionales pero si le dedican tiempo serán bien recompensados, es la clase de herramienta que no valorarán hasta tanto no hayan sudado un buen rato, luego de eso ustedes mismos dirán. Este el el último de tres dedicados al Vim, son un buen punto de partida, de nuevo, valdrá la pena, créanme. El original es de Ars y la traducción es de Jorge. Esperamos les resulte útil, así pues, provecho!

Vim hecho fácil: cómo conseguir las características de tu IDE favorito en Vim
El editor de texto Vim es el favorito de muchos programadores y administradores de sistemas. A pesar de que ofrece una cantidad excepcional de potencia y flexibilidad, puede ser algo intimidante para los nuevos usuarios. Los programadores que pasan a Vim desde los  IDE (Entorno de Desarrollo Integrado) convencionales tienden a encontrar el cambio de paradigma un poco desorientador.

A menudo recibo correos electrónicos de lectores que están buscando maneras de hacer a Vim más  amistoso para los desarrolladores. Una queja común es que el editor no viene con las características estándar de un IDE  convencional y que no siempre está claro cómo se configura para proporcionar una funcionalidad equivalente. El secreto para descifrar la verdadera magia de Vim es tomar ventaja de su poderoso sistema de plugins y el gran ecosistema de scripts de terceros que ofrecen mejoras al editor para diversas tareas. Para empezar, he compilado una lista de consejos útiles y complementos de programación para Vim que hará que los refugiados de los IDE se sientan  como en casa. 
A pesar de la interfaz de Vim está diseñada en gran medida como una interfaz basada en texto y es más eficaz cuando se usa para este propósito, existen shells gráficas disponibles que hacen que el programa sea un poco más manejable para los nuevos usuarios. En lugar de ejecutar Vim en una ventana de terminal, es posible que desee probar Gvim, la versión básica para la interfaz de grafica para usuarios (GUI). Posee menús configurables y barras de herramientas que hacen que las características más esenciales del programa sean accesibles fácilmente  con un mouse. También le permite utilizar los diálogos de archivo nativos y permite la posibilidad de cambiar el tamaño de búfer de los paneles haciendo clic y arrastrando. Gvim está disponible tanto para Linux como para Windows. El equivalente para Mac OS X es MacVim, que proporciona la interfaz de usuario nativa de Cocoa, incluyendo la integración del menú. 


Clic para ampliar.
La queja más frecuente de los nuevos usuarios de Vim es que la lista de buffers es algo engorrosa y no hay manera fácil de ver qué archivos están abiertos. Hay varios plugins que puedan abordar este problema proporcionando un panel especial con una lista de búfer que puede ser utilizado para navegar fácilmente entre los archivos abiertos. Mi favorito es MiniBufExplorer, que muestra una lista en un panel en la parte superior de la ventana. Cuando la lista MiniBufExplorer está activa, puede presionar la tecla de tabulación para recorrer los artículos y puedes seleccionar uno oprimiendo la tecla Enter o haciendo doble clic. 
Clic para ampliar.
Muchos IDEs tienen una barra lateral de navegación de código que muestra la estructura de su proyecto de programación y le permite ir a una clase o método específico, haciendo clic. Usted puede obtener esta característica en Vim usando el popular plugin  TagList. El plugin requiere la utilidad Exuberant Ctags, que se utilizará para analizar el código. La barra lateral del plugin, que puede ser activada con el comando: Tlist, le mostrará las clases y métodos en el buffer activo. Mientras abres archivos adicionales y navegas por otros buffers, ellos se añadirán a la lista. En Gvim, puede hacer clic en  el nombre de un método para acceder a él. Para hacerlo con el teclado, mover el cursor de texto sobre el nombre del método que deseas abrir  y luego presiona Enter

El completamiento automático de texto es otra característica común de los IDE que los usuarios también quieren tener en Vim. El soporte a esta característica se introdujo en Vim 7, a través del sistema Omnicompletion. Es programable, lo que significa que se puede personalizar para trabajar con varios lenguajes de programación. Incluso hay módulos disponibles para completar los lenguajes dinámicos como Python y Ruby. Las configuraciones para la correcta ejecución del paquete se cargan generalmente por defecto, como parte del paquete Vim, por lo que ni siquiera tienen que hacer nada especial para hacer que funcione. Para invocar el menú del completamiento de texto, solo tienes que presionar Ctrl + x seguido de Ctrl + o. A continuación, puede utilizar las teclas Ctrl + n y Ctrl + p para desplazarse por la lista de terminaciones posibles. A medida que recorres las opciones de finalización, Vim le mostrará información de ayuda contextual con las firmas de métodos y propiedades en otro buffer. 

Hay muchas otras cosas que puedes hacer para aumentar tu experiencia con Vim. El wiki de Vim y el repositorio de scripts tienen una colección muy extensa de mejoras de terceros que  puedes utilizar para agregar funciones adicionales. Hay plugins que implementan los sistemas de generación de fragmentos de código, herramientas de esquematización, servicios de gestión de proyectos, y un gran número de otras características. También hay muchos scripts que proporcionan mejoras especializadas para frameworks o lenguajes de programación en particula. Por ejemplo, hay un script muy popular que le permitirá  destacar la sintaxis y otras  funciones de navegación muy cómodas para el desarrollo de Ruby on Rails. 
Hay también algunas colecciones de scripts para principiantes, que hará que Vim se comporte casi igual que un editor de texto convencional con los atajos de teclado estándar y un menú simple. Puedes utilizar esas para empezar si te sientes incómodo con los comandos crípticos de Vim
La mutabilidad de Vim le permite ser lo que el usuario desee. Para aquellos que no tienen el tiempo, experiencia, o la inclinación para crear la configuración perfecta de Vim a mano, el número de scripts y plugins de terceros es infinito y pueden ayudarte a avanzar con muy poco esfuerzo....