La decisión sobre el editor de código que uno usa llega a ser muy personal para los programadores. Asimismo, cómo uno desea configurarlo es algo en lo que muchos tienen opiniones fuertes.

Esto es parte de involucrarte en este mundo y su cultura. Te das cuenta, con el tiempo, de que hay cosas que te ayudan a entrar en la ‘zona’. Poder teclear sintiéndote como si tu mente y el teclado fueran uno solo llega a ser lo que muchos disfrutan de programar.

Con eso dicho, siempre habrá una tendencia sobre la que el público converge. En su tiempo fue Notepad++, y hoy en día Visual Studio Code. Y por mucho. La verdad es que tiene sus puntos fuertes: una comunidad masiva junto a un sinfín de plugins para facilitar la vida de un desarrollador. Es el editor que todo el mundo conoce y, por extensión, usa.

Lo use por alrededor de 6 años, desde mi tiempo en bachillerato tomando clases de informática hasta que entré a la universidad.

Probablemente habría seguido usándolo sin problema, aun si había cosas que sentía un poco bastante frustrantes, en especial cuando aún usaba la vieja laptop de mi papá. El hecho de que VS Code use Electron es una de esas cosas que aún no comprendo cómo hemos decidido aceptar.

Pero, en fin, ‘Es lo que toca’, me decía a mí mismo. Hasta que un día, el algoritmo de YouTube atacó. Un video recomendado, que no recuerdo por qué decidí abrirlo. Un streamer programador, empleado por Netflix, viviendo en Montana. Gritaba al micrófono y tenía el humor necesario para mantenerme como espectador.

Pero luego abrió su terminal, y vi que abrió este programa para escribir el código del proyecto en el que estaba trabajando. No se veía familiar. Hasta ese momento mi conocimiento solo llegaba a saber de Nano. No había mouse, ni pistas. Solo una pantalla llena de código y un cursor saltando de un lado a otro. Parecía un espectáculo.

Estaba asombrado. La velocidad y efectividad con que trabajaba eran increíbles. Eso sin mencionar los macros y el entendimiento de regex para editar código. Sentí que había abierto la puerta a un mundo que podría elevarme mucho más.

Empecé a seguir a ThePrimeagen en YouTube y también investigué sobre el editor que usaba. Se llamaba NeoVim, un fork del editor Vim que se usaba en la terminal, especialmente durante los tiempos antes de tener software con interfaces gráficas. Resulta que aún hoy en día hay una comunidad muy activa de personas que usan este editor de texto en la terminal.

Al poco tiempo empecé mi semestre de otoño en Drury. Una de mis clases fue “Introducción a Redes Neurales” con el decano del departamento de matemáticas y ciencias de la computación. Resulta que él también era un usuario de Vim. Durante mi tiempo como su estudiante, me di la oportunidad de preguntarle también por qué usaba Vim como su editor de código.

En palabras resumidas, por sus investigaciones y estudios, él usaba mucho Linux y había aprendido a usar el editor hace mucho tiempo. Y el rendimiento que le brindaba era simplemente mejor. Al final del día, correr una aplicación de terminal iba a ser más rápido que algo con una interfaz gráfica.

Ya para este punto estaba un poco tentado a probar NeoVim como editor, especialmente con la introducción de WSL para hacer uso de Linux dentro de Windows mismo. Después de tener esa conversación con mi profesor, decidí intentarlo.

Al principio era lento. No tener un mouse como forma de cerrar la brecha entre lo que sabía hacer con un combo de letras y lo que no sabía era un poco incómodo, la verdad. Pero, ya para un par de días, los movimientos empezaron a volverse memoria muscular.

Fue entonces cuando empecé a notar cómo mi velocidad empezó a mejorar. Y muy rápido. Quizás parte de esto sea cosa mía debido a mi afición por los juegos de pelea. Pero moverse dentro de NeoVim me daba el mismo nivel de satisfacción que ejecutar combos en algún juego PvP. Era divertido, como nunca antes lo había sentido.

Poco a poco empecé a mover todos mis proyectos y tareas a ser editados y manejados en NeoVim y, así mismo, mi comodidad con el editor incrementó. Para mi último semestre en la universidad tuve que hacer una pasantía con el condado de Greene, y operé mucho editando y manipulando bases de datos. Fue entonces cuando aprendí a manejar los legendarios macros, y fue como quebrar la siguiente gran barrera. Trabajo tedioso que me hubiera tomado horas lo hacía en minutos. El gusto por trabajar con NeoVim era algo que necesitaba contarle a todos.

Decidí aventurarme a crear también mis propios archivos de configuración para el editor. A diferencia de VS Code, que te da la facilidad de presionar un solo botón para bajar un plugin y tener soporte para cualquier lenguaje de programación habido y por haber.

NeoVim (y Vim, por lo tanto) hace uso de uno o varios archivos de configuración. Especificas en texto tus preferencias y qué plugins necesitas, y cuando abras el editor, se encargará de que esté listo tal como lo necesitas. Esto, la verdad, para alguien más técnico es muy beneficioso. Más que nada debido al hecho de que tu configuración es fácilmente portable (con un repositorio de Git). Y también remueve una capa de misticismo y oscuridad sobre cómo funciona el editor por dentro.

Creo que este es el beneficio más importante de NeoVim para mí. Te enseña a entender tus herramientas de desarrollo a profundidad. Saber cómo funcionan los snippets, autocompletaciones y análisis de código de forma superficial es necesario para crear tus dotfiles. Y esa habilidad, el entender cómo las cosas funcionan, es personalmente lo que te permite volverte un mejor desarrollador al final del día.

Tendré quizás ahora el emblemático permiso de decir “I use neovim, btw”. Y sí, la parte nerd de mí lo disfruta. Pero, fuera de eso, querer explorar lo esotérico que es NeoVim creo que me ha ayudado a crecer mucho en mi entendimiento sobre las herramientas que uso para desarrollo. Y me ha ayudado a hacer de programar un acto que encuentro mucho más disfrutable ahora. Mi deseo es que quizás tú, mi estimado lector, también te sientas interesado en darle un intento a esta herramienta. O, en su defecto, que aprendas lo más que puedas de tus herramientas de trabajo, para que seas el mejor desarrollador que puedas ser.

Un abrazo,
Daniel “Parzival” Gaitán.