Preámbulo

Aunque hoy no es el día en que empecé con Vim, proclamo deliberadamente el 13 de junio de 2015 como el primer año de Vim conmigo.

Quise aprender Vim porque era mi deseo, y punto. No tuve ningún otro motivo, como cuando aprendí Netbeans para la aplicación Java de mi tesis o Visual Studio C++ para mi trabajo.

Vim me abrió varias puertas a cosas que no conocía.

Cosas que Vim me enseñó

Existen distintas filosofías de edición de texto

El modelo de edición de texto de Vi/m es para mí una filosofía. Es un lenguaje vivo, como el inglés o el español. Aunque más simple, claro.

Como con cualquier otro idioma, tenés que invertir tiempo en aprender la gramática, pero el retorno de esa inversión es tan alto que vale la pena. Incluso si decidís no usar Vim, va a expandir tu forma de pensar.

¡Ah! Habré leído mil veces “Your problem with Vim is that you don’t grok vi”.

Por eso, más que una filosofía, trato a Vi/m como un lenguaje.

La esencia de las herramientas Unix

Se puede discutir si Vim cumple o no con la filosofía Unix. Para mí lo importante es que Vim fue el disparador para aprender cómo 1 + 1 puede ser 3, para entender la sinergia entre herramientas.

Vim fue mi puerta de entrada al mundo Unix. Eso me llevó a leer el libro Unix Power Tools y a mirar screencasts sueltos de gente como Gary Bernhardt.

La importancia de las regex en la edición de texto

Así como Vim me cambió, las regex son otro mundo entero de oportunidades a la hora de editar texto.

Un libro de lectura obligada para cualquiera es Mastering Regular Expressions.

Sin embargo, la primera vez que empecé a leerlo no me enganchó. Necesitaba algo de inspiración. ¿Y qué mejor que leer a miembros reconocidos de la comunidad Perl? Bueno, resultó que la inspiración la encontré en la fantástica charla de Damian Conway Understanding and Using Regular Expressions.

Y eso me llevó a leer finalmente el libro, que me abrió otra puerta de posibilidades, especialmente cuando empezás a reconocer las funcionalidades que ofrece el motor de regex de Vim.

Los IDE tienen su lugar

Cada vez que discutimos sobre editores de texto vs. IDE, nos gusta buscar la manera de decir que “x” se puede hacer tanto en Vim como en Eclipse, de fábrica o mediante un plugin. Pero la verdad es que, para mí, cada uno tiene su propio lugar, con sus fortalezas y debilidades.

Creo que muchos pasaron por la experiencia de querer que su herramienta pueda hacerlo todo.

Y eso no es algo malo, pero realmente creo que debemos tener opciones, alternativas que pueden venir bien cuando hay que salvar el día.

Pensándolo de nuevo, no se trata solo de los IDE: se trata de cada herramienta en tu mochila.

Esa mochila puede ser grande, muy grande, pero tiene un límite de cosas que podés cargar. Es nuestro trabajo elegirlas. Poné todo lo que te gusta o necesitás, tirá lo que no, pero acordate de que eso que no te gustó puede llegar a servirte en el futuro.

Se trata de tener opciones.

La importancia de una buena comunidad

Para ser justo, si no fuera por las grandes comunidades que existen, como Stack Overflow, la lista de correo de Vim y vimmers que comparten su conocimiento como Drew Neil, no habría podido sostenerme con Vim en esos momentos en los que necesitaba algún amigo que me motivara a seguir aprendiendo o resolviendo problemas simples y complejos.

¿Tenés una pregunta? La gente del subreddit de Vim es tan condenadamente amable que te ayuda en cuestión de segundos.

¿Tenés algo que querés compartir con la comunidad? De nuevo, el subreddit de Vim está ahí, como una familia; una verdadera comunidad, al fin y al cabo.

Y eso es algo bueno. Las comunidades son ese pilar necesario que todo software de verdad debe tener para mantenerse en pie a lo largo de los años.

Trascendencia

Todo IDE y herramienta de edición de texto conocidos tienen su manera de emular el lenguaje de edición de Vi/m.

Incluso navegadores web como Chrome y Firefox incluyen una emulación.

Como muchos otros en la comunidad, tengo grandes esperanzas de que Neovim, o lo que sea que venga después, logre un avance que le permita a Vim convertirse en el ciudadano de primera clase que merece ser en cada pieza de software.