Aunque la mayoría de los usuarios tienen en mente el Bloc de Notas de Windows cuando hablamos de un editor de texto, en realidad la variedad de editores existentes es inmensa. Muchos usuarios, especialmente aquellos que se dedican a la programación, suelen buscar alternativas que se adapten a sus necesidades y que, sobre todo, tengan una interfaz minimalista, reduciendo las distracciones y aprovechando al máximo cada pulsación de teclado. Una de estas opciones es Vim.
Vim, (Vi Improved), es una versión mejorada del editor clásico de Unix, Vi, la cual ofrece a sus usuarios cambiar entre diferentes modos para adaptarse a las necesidades de estos. Aunque han pasado más de 10 años desde la última actualización de este editor de texto, hace algunas horas la comunidad ha liberado una de las mayores actualizaciones de este editor con el fin de recuperar la confianza de la comunidad y corregir ciertas decisiones erróneas que se han tomado en el pasado y que detallaremos a continuación.
Las principales novedades que se han incluido en esta esperada actualización de Vim 8.0 son:
- Las tareas, o Jobs, ahora están disponibles, permitiendo a Vim iniciarlas, comunicarse con ellas y finalizarlas.
- Ahora es posible utilizar temporizadores asíncronos que permitan crear funciones anónimas.
- Es posible hacer referencias a otras funciones.
- Para facilitar la gestión de las extensiones, se ha añadido la posibilidad de trabajar con paquetes.
- Se han añadido nuevos tests de estilo.
- Cada ventana tiene un ID único.
- Viminfo ahora utiliza timestamps.
- El protocolo de cifrado blowfish se actualiza a blowfish2.
- Vim ahora puede funcionar en modo servidor gracias a dos nuevas funciones JSON (json_encode() y json_decode()).
- Se ha añadido soporte para DirectX en Windows.
- La interfaz se ha migrado por completo a GTK+ 3.
Por último, no debemos olvidarnos de la polémica «Asynchronous I/O«, una característica que permite al editor mejorar su rendimiento, reducir el tiempo de carga de las extensiones y reducir el uso de recursos en el sistema gracias a la posibilidad de comunicarse con otros procesos en segundo plano.
Vim 8.0, un desarrollo OpenSource sin tener en cuenta a la comunidad
Una de las ventajas del desarrollo de código abierto es que cualquier programador puede colaborar en el desarrollo de la aplicación, aunque siempre bajo el control de los desarrolladores principales. Hace algún tiempo, un desarrollador programó un módulo que permitía añadir a Vim el soporte asíncrono I/O, conocido como «Asynchronous I/O» para permitir la comunicación asíncrona entre procesos y reducir hasta 10 veces los tiempos de carga del editor y de las extensiones.
Los desarrolladores principales de Vim rechazaron en varias ocasiones el commit para incluir esta característica por razones desconocidas (probablemente para no dar mérito al desarrollador original). Por lo tanto, este desarrollador, y todos aquellos a favor de la característica decidieron hacer un fork a Vim y crear Neovim, una versión de Vim que ha estado dando mucho de qué hablar al ser considerada por muchos como lo que debería ser Vim, y no un proyecto cerrado y obsoleto de código abierto.
Esta razón, junto a la necesidad de renovarse, han sido las principales razones del acelerado desarrollo de la versión 8.0, la cual lleva en Release Candidate un mes.
Vim es compatible con prácticamente todas las versiones Unix y, además, es compatible con Windows (desde Windows NT hasta 10) y con macOS. Si estamos interesados en probar esta nueva versión del editor de texto minimalista, podemos hacerlo sin coste alguno desde su página web principal.
Queremos agradecer a edkalrio por el aviso y, sobre todo, por explicarnos la polémica entre Vim, Neovim y el soporte asíncrono I/O.
¿Has utilizado Vim alguna vez? ¿Qué te parece este editor de texto minimalista?
Quizá te interese: