Estoy empezando a utilizar Vim y no voy a cambiarlo por otro, al menos por ahora. Aunque reconozco que no es sencillo comenzar a usarlo, hace que valga la pena el esfuerzo.

Un editor modal

“the best code is no code at all”

A menudo escucho que las herramientas que se usan, ayudan a hacer las cosas de cierta manera. En general, estas herramientas simplifican el trabajo y ahorran tiempo y esfuerzo dedicado a completar tareas. También cambian el resultado del trabajo, normalmente para mejor.

Bien, Vim hace sencillo pensar de cierta manera cuando escribimos código. Lo primero que notamos cuando abrimos el Vim es un paso extra al insertar texto. Esta es la primera impresión y, probablemente, lo más decepcionante. Y está bien que así sea, ya que agregar texto no es nunca sencillo, este paso extra nos permite pensar dos veces antes de hacerlo. Vim facilita editar textos, moverlos de una parte a otra, etc. Sin embargo, incorporar mucho texto puede complicarse con Vim.

Vim no es perfecto

“Love the defects or do not love.”

Detesto cuando le presento algo y la gente dice que tal o cual producto/herramienta/lo que sea, no tiene problemas y funciona genial. Discúlpenme, pero es mentira. Como el resto de las cosas, Vim tiene problemas, y si lo eliges, debes hacerlo con sus fallas e inconvenientes. Yo acabo de decir qué es lo malo de Vim: hace más difícil escribir texto, lo que constituye una parte bastante importante cuando se trata de un editor de texto.

Vim está en inglés, todas sus funciones lo están: la distribución del teclado, las teclas de acceso, la ayuda, la ideología… simplemente TODO en Vim está en inglés. Tomalo o dejalo.

Es viejo y está orgulloso de serlo. Tiene un modo compatibilidad para comportarse como el editor “vi” de 1976, y es el predeterminado. Esta peculiaridad nos recuerda que todo es una pequeña parte de un proceso más grande que no comenzó ni terminará hoy. Si estás escribiendo un nuevo libro o un nuevo programa, recuerda que no estás arrancando desde cero; sólo estás interpretando un rol de una obra mucho mayor.

Tendrás que aprender a trabajar con Vim, y no se trata de algo que dominarás al primer intento. A algunas personas no les gustará que le consuma un valioso tiempo para entender cómo usarlo. Sin embargo, aprender Vim es una necesidad, y parece que es un proceso de nunca acabar.

Comenzando con Vim

Al comienzo, Vim no es fácil pero eso no significa que sus primeros pasos serán traumáticos. Hay un post que nos dice cómo empezar con el pie derecho. La idea general es tratar de hacer cosas a la manera manual al principio, y en el camino, aprender mejores formas de hacerlo. Esto significa que debés utilizar mejor algunas extensiones y evitar trabajar con el modo de compatibilidad. Por ejemplo, usted debe comenzar con GVim.

Para hacer tu vida más sencilla al comienzo, es altamente recomendable usar algún plugin preconfigurado, como Janus. Todas las herramientas mencionadas hasta aquí te ayudarán a comenzar y entonces entonces usted será capaz de aprender algo nuevo cada día.

La magia de Vim

En la primera parte de este post, mencioné los aspectos negativos de Vim. Pero existen cosas de Vim que definitivamente lo harán sentir contento. Algunas de estas características, pueden parecer incómodas al principio, pero te acostumbrarás a ellas muy pronto. Veamos algunas de estas características:

  • Hacer, repetir, deshacer. Esta es la manera de trabajar con Vim, en lugar de usar múltiples cursores o cosas por el estilo. Se puede usar n y N para repetir una búsqueda y volver, . y u para repetir y action y undo y ; y , para repetir la f y t para moverse y regresar.
  • Sintaxis resaltada. Sí, todos los editores pueden hacer esto, pero no tan bien como lo hace Vim. Supongo que debe ser la mejor o quizás el segundo mejor (después de Emacs). Se pueden encontrar fácilmente plug-ins para todos los idiomas, a menudo no es más que un plug-in para cada idioma.
  • Funciona desde la consola. Por lo que tendrá la misma funcionalidad, incluso si no se cuenta con una interfaz gráfica de usuario.
  • Está en todas partes. Una vez aprendido su funcionamiento, encontraremos gran cantidad de accesos directos en todos los programas que se utilizan. Por ejemplo, el shell tiene un modo vi, Gmail y GitHub responden a los atajos vi, y mucho más.
  • Regex no apesta, pero debe aprenderse primero los modificadores \m \v \\zs y ze.

Por último

Hay mucho por aprender, hay muchos consejos que nunca leerán y ni recordarán ni la mitad de ellos. Pero, por favor, dejá aquello esencial que creés que omití en los comentarios.

Este artículo fue originalmente publicado aquí

Ruby developer at Altoros Argentina.