7 razones por las que NeoVim es mejor que Vim
¿NepVim o Vim? ¿Cuál de los dos editores similares es mejor? Creo que es NeoVim y tengo buenas razones para respaldar esta afirmación.
El editor Vim es un sucesor del editor vi
que se encuentra en el UNIX original. Como bifurcación de Vim, Neovim es un editor que tiene como objetivo mejorar la calidad de vida de todos los desarrolladores, mejor que Vim.
Vim es una excelente opción para administradores de sistemas experimentados. Sin embargo, NeoVim ha conseguido un gran número de seguidores entre los desarrolladores.
¿Se pregunta por qué más desarrolladores eligen NeoVim en lugar de Vim? Como ferviente usuario de NeoVim, se me ocurren las siguientes razones.
1: Mantenimiento del proyecto y mejoras de funciones.
Quizás se esté preguntando: "Con Vim tan popular, especialmente debido a los memes 'No puedo salir de Vim'", Vim sería la opción preferida para los usuarios. ¿Por qué alguien bifurcaría Vim y se arriesgaría a desperdiciarlo? tiempo de desarrollo para que lo usen una docena de personas?"
Y esa es una pregunta válida. ¡Vim es muy popular! Pero eso no significa que la comunidad que desarrolla Vim esté satisfecha con el estado del proyecto en sí.
Existen dos problemas con el código base actual de Vim:
El desarrollador principal de Vim no ha fomentado el desarrollo de Vim como un proyecto amigable con la comunidad. Este argumento está respaldado por características agregadas inicialmente a Neovim como soporte asíncrono, un emulador de terminal incorporado y ventanas emergentes (para mostrar mensajes de depuración y sugerencias de autocompletado) que luego se adoptaron en Vim debido a la "presión" de la comunidad.
El código base de Vim es menos fácil de mantener en comparación con Neovim.
2: Autocompletar código (LSP)
LSP o Protocolo de servidor de idiomas es un protocolo que define cómo se comunica un editor con un "servidor de idiomas" para habilitar opciones como resaltado de código, verificación de sintaxis, finalización de código, sugerencias de inserción, sugerencias de escritura y mucho más.
No importa qué tan buen desarrollador seas, es posible que obtener sugerencias de tipografía, resaltado de errores y más en el propio editor no te convierta en un mejor desarrollador. Aún así, sin duda reducirá su tiempo de desarrollo y/o depuración.
Neovim se envía con soporte listo para usar para LSP y utiliza Lua para una configuración adicional. Vim, sin embargo, necesita un complemento externo para lograr esta funcionalidad.
3: Soporte para complementos mejores
Un complemento es algo que se conecta a algo existente y le agrega una nueva característica. En este caso, un complemento de editor es algo que se conecta al editor y proporciona más funciones.
Vim ya cuenta con un amplio soporte para complementos y también un ecosistema, ¡tanto es así que existen administradores de complementos solo para Vim!
Pero Neovim supera a Vim al permitir que los complementos utilicen un "lenguaje más versátil" para escribir complementos en Lua. No es que el lenguaje integrado de Vim sea malo, pero si desea una funcionalidad similar a la de un IDE, la configuración se complicará. Y, con un lenguaje de programación real, esta configuración es comparativamente más fácil que Vim.
Esto significa que puede ampliar o modificar incluso la funcionalidad central de Neovim.
Aquí hay una lista de complementos que son exclusivos para Neovim porque Vim no ofrece un nivel similar de extensibilidad.
4: puesta en marcha en paralelo
Mencioné anteriormente que Neovim usa Lua como un lenguaje opcional pero adicional para la configuración de complementos. ¿Pero sabías que Neovim inicia cada complemento en paralelo?
Esto debería hacerte sentir aún más rápido con Neovim, ¡especialmente si tienes complementos que tardan unos segundos en inicializarse!
5: Posibilidad de incrustar el editor
Debido a que el código base del editor Neovim es comparativamente más fácil de mantener que Vim, la posibilidad de integrar el editor principal en otra cosa se convierte en una posibilidad real.
Por fin puedes tener un buen editor en VS Code ahora 😎
6: Ubicación de los archivos de configuración
Después de haber usado Vim, cuando necesitaba saltar de distribución y migrar a una nueva distribución de Linux diferente, normalmente me olvidaba de realizar la copia de seguridad del ~/.vimrc
porque no estaba en mi directorio ~/.config
.
La mayoría de las aplicaciones modernas de Linux se adhieren a un estándar llamado XDG (Cross Desktop Group). Este estándar define varias cosas, pero una de las más importantes, en este caso, es la ubicación desde donde la aplicación carga su(s) archivo(s) de configuración.
Este estándar dicta que los archivos de configuración específicos del usuario deben almacenarse dentro del directorio ~/.config
. Neovim cumple con esto y el archivo de configuración principal (init.nvim
) se almacena dentro del directorio ~/.config/nvim/
.
Este es un pequeño detalle, pero tiene un gran peso a la hora de realizar una copia de seguridad de los archivos importantes de su computadora.
7: Optimizaciones realizadas en Neovim
Antes de hablar de optimizaciones, tenga en cuenta que ambos editores son lo suficientemente rápidos como para que ninguno parezca más rápido que el otro en las tareas diarias. Pero me siento obligado a compartir esto.
Neovim tiene varias optimizaciones en cuanto a cómo reacciona a los comandos del usuario. Por ejemplo, tome el siguiente comando:
:g/<pattern>/d
Si ejecuta el comando anterior en Vim, encontrará todas las líneas con su patrón de expresión regular especificado y las eliminará. Eso no es todo lo que Vim hará. La tecla d
también copia el texto eliminado al registro (portapapeles).
Esto significa que Vim hará lo siguiente:
Encuentra la línea con el patrón.
Cópialo al registro.
eliminar la linea
Vaya al paso 1 si hay otras líneas con patrón coincidente
Si no desea el Paso 2, puede usar el siguiente comando en Vim:
:g/<pattern>/d _
El comando anterior hará todo menos copiar la línea al registro, acelerando la operación. Supongamos que ejecuta el comando anterior (sin el guión bajo) en Neovim. En ese caso, notará que está intentando eliminar varias líneas y las "optimizará" automáticamente incluyendo el guión bajo.
Bonificación: mejor configuración lista para usar
Esta es una opinión algo personal, pero si eres nuevo en Vim o Neovim, te aconsejaría que comiences tu viaje con Neovim. Ambos editores se pueden configurar, pero Neovim tiene mejores valores predeterminados.
Por ejemplo, Neovim tiene las siguientes perillas giradas por defecto:
autoindent
está habilitado de forma predeterminadafondo
por defecto es "oscuro" a menos que el terminal lo establezca explícitamentehlsearch
(resaltar todas las coincidencias) está habilitado de forma predeterminada
Aunque con las versiones más recientes de Vim, esto puede estar sujeto a cambios ya que ambos editores están en constante evolución.
Conclusión
Vim fue creado para mejorar el editor Vi existente. Significa V Mejorado. De manera similar, NeoVim fue creado para mejorar el editor Vim existente. Significa Nuevo Vim.
He sido usuario de Vim durante dos años desde que lo probé y felizmente migré todas mis configuraciones de Vim a Neovim. Este artículo describe por qué alguien podría elegir Neovim en lugar de Vim tradicional.
¿Sigues usando Vim? ¡Comenta y cuéntame por qué! :)