463 - Visual Studio Code frente a Neovim. Reconfigurar Neovim
Visual Studio Code frente a #Neovim como editor para #Linux. ¿Con cual me quedo? Además, como cambiar de gestor de complementos de Packer a Lazy
Como bien sabes algunas de mis pasiones son Linux, los tiling window manager como i3, la programación de la mando de Rust, Python, Bash, y también Neovim entre otros. Y si te fijas, el hilo conductor de todas estas herramientas, aplicaciones, sistemas operativos es precisamente las posibilidades de configuración y personalización. Todos ellos son configurables y perfectamente adaptables a tus necesidades. Y al contrario de lo que sucede con otras sistemas operativos y herramientas, son estos los que se adaptan a tu flujo de trabajo y no al revés. Sin embargo, también tiene un peligro la personalización extrema, en ocasiones, me paso mas tiempo configurando que haciendo lo que tengo que hacer. Así en este episodio del podcast te voy a hablar precisamente de configuraciones y en concreto de reconfigurar Neovim y el peligro de la configuración extrema.
Visual Studio Code frente a Neovim. Reconfigurar Neovim
Sobre Neovim
Si no conoces Neovim, decirte que es una versión mejorada y actualizada del popular editor de texto Vim. Fue creado con la idea de hacer que Vim sea más fácil de usar y mantener, y para agregar nuevas características que no estaban disponibles en Vim. Algunas de las características incluyen una interfaz de usuario más amigable, mejoras en la velocidad y la eficiencia, y un sistema de plugins más fácil de usar. En resumen, Neovim es una excelente opción para aquellos que buscan un editor de texto poderoso y personalizable.
Escribir un libro con Neovim
Al contrario de lo que pudieras pensar, Neovim no está exclusivamente pensado para programadores. Al igual que con otros editores de texto, Neovim te permite crear y editar archivos de texto con facilidad, lo que lo hace ideal para escribir un libro. Además, gracias a su potencial personalización y la gran cantidad de plugins disponibles, puedes adaptar Neovim a tus necesidades específicas para escribir un libro.
Una de las características de Neovim es que tiene una gran y potente comunidad, y un gran cantidad de complementos que permite adaptar Neovim a tu flujo de trabajo, con independencia de cual sea este. Ya sea que te dediques a programar o a escribir
Neovim frente a Visual Studio Code
Actualmente, estoy utilizando otros editores como PyCharm, Idea y Visual Studio Code. Probablemente, este sea el mas extendido de todos, en lo que a utilización se refiere. Sin embargo, yo prefiero por mucho Neovim a Visual Studio Code.
Aquí hay algunas de las ventajas e inconvenientes de Neovim frente a Visual Studio Code:
Ventajas de Neovim:
- Modo modal: Neovim utiliza un modo modal de edición, que permite una mayor eficiencia y productividad al editar texto.
- Personalización: Neovim es altamente personalizable y puede ser configurado para adaptarse a tus necesidades específicas.
- Historial de comandos: Neovim tiene un histórico completo de los comandos que has ejecutado, lo que lo hace fácil de usar y recordar.
Inconvenientes de Neovim:
- Aprendizaje: Neovim puede ser un poco más difícil de aprender para aquellos que no están familiarizados con el modo modal de edición.
- Interfaz de usuario: La interfaz de usuario de Neovim es menos intuitiva que la de otros editores de texto como Visual Studio Code.
Ventajas de Visual Studio Code:
- Interfaz de usuario: Visual Studio Code tiene una interfaz de usuario intuitiva y fácil de usar.
- Integración de herramientas: Visual Studio Code ofrece una gran cantidad de integraciones con otras herramientas y tecnologías, lo que lo hace ideal para el desarrollo de aplicaciones.
- Depuración: Visual Studio Code incluye una potente funcionalidad de depuración, lo que lo hace ideal para el desarrollo y el depurado de aplicaciones.
Inconvenientes de Visual Studio Code:
- Personalización: Visual Studio Code es menos personalizable que Neovim, por lo que puede no ser adecuado para aquellos que buscan una mayor flexibilidad.
- Velocidad: Visual Studio Code puede ser un poco más lento que otros editores de texto debido a la cantidad de características e integraciones incluidas.
Sin embargo, muchos de los inconvenientes, tanto de Visual Studio Code como de Neovim, no lo son tanto en cuanto tienes una gran galería de complementos que permite personalizar tanto el comportamiento, como el uso de cada uno de ellos. Salvo la velocidad y el consumo de memoria en el caso de Visual Studio Code, que por momentos, puede convertir esta herramienta en algo realmente molesto de utilizar. O por lo menos es lo que a mi me sucede.
Reconfigurar Neovim
En este caso el objetivo de reconfigurar Neovim era cambiar a utilizar un nuevo gestor de complementos. En concreto Lazy. Así, durante estos últimos días (semanas o meses), he estado probando a migrar de Packer, mi antiguo gestor de complementos para Neovim a Lazy.
El gestor de complementos Lazy para Neovim
Lazy es un gestor de paquetes para Neovim que permite una instalación y gestión fácil de plugins y configuraciones para Neovim. Con Lazy, puedes instalar y actualizar fácilmente plugins y configuraciones, y también puedes organizar y controlar tus plugins y configuraciones de una manera sencilla.
Además, Lazy ofrece una gran cantidad de características útiles, como la posibilidad de cargar plugins y configuraciones en tiempo real, lo que significa que puedes ver los cambios en tiempo real sin tener que reiniciar Neovim. También incluye un sistema de cache para mejorar la velocidad de inicio de Neovim, y ofrece una gran cantidad de opciones para personalizar y adaptar Lazy a tus necesidades específicas.
Diferencias y similitudes de Lazy y Neovim
Aquí hay algunas de las ventajas e inconvenientes de Lazy frente a Packer:
Ventajas de Lazy:
- Instalación y actualización fáciles: Lazy permite una instalación y actualización fácil de plugins y configuraciones para Neovim.
- Carga en tiempo real: Lazy puede cargar plugins y configuraciones en tiempo real, lo que significa que puedes ver los cambios en tiempo real sin tener que reiniciar Neovim.
- Sistema de cache: Lazy incluye un sistema de cache para mejorar la velocidad de inicio de Neovim.
Inconvenientes de Lazy:
- Personalización limitada: Lazy puede ser menos personalizable que otras opciones, lo que puede ser un inconveniente para algunos usuarios.
Ventajas de Packer:
- Personalización: Packer ofrece una gran cantidad de opciones para personalizar y adaptar la instalación y la gestión de plugins y configuraciones para Neovim.
- Integración con otros gestores de paquetes: Packer puede integrarse fácilmente con otros gestores de paquetes, lo que lo hace ideal para una gestión eficiente de plugins y configuraciones.
Inconvenientes de Packer:
- Mayor complejidad: Packer puede ser un poco más complejo de usar que otras opciones, lo que puede ser un inconveniente para algunos usuarios.
- Menor velocidad de inicio: Packer puede ser un poco más lento que otras opciones en términos de velocidad de inicio de Neovim.
En resumen, Lazy y Packer tienen sus fortalezas y debilidades, y la mejor opción dependerá de tus necesidades y preferencias personales
¿Como migrar de Lazy a Packer?
Inicialmente lo que he estado haciendo ha sido intentar adaptar la configuración de Lazy de otros usuarios a mis necesidades. Sin embargo, esto en ninguna de las ocasiones que lo he intentado ha terminado con éxito, mas bien todo lo contrario.
Al final la solución era mucho mas sencillo de lo que pensaba. En el repositorio de GitHub de Lazy existe una guía de migración, que te va a permitir de una manera mas o menos sencilla convertir tu instalación con Packer a una instalación con Lazy.
Mis conclusiones
Para empezar te diré que Lazy es precisamente lo que andaba buscando. Porque me permite tener una configuración mucho mas sencilla. Debajo de cada uno de los complementos, en el archivo plugins.lua
, he indicado de donde tiene que leer la configuración.
Esto me simplifica enormemente la gestión de complementos, de forma que cuando un complemento lo quiero sustituir por otro simplemente lo hago, sin necesidad de pensar si tengo que buscar o dejar de buscar la configuración del mismo.
Todavía queda trabajo por hacer, sobre todo, porque durante esta migración he descubierto determinados complementos que me han parecido super interesantes, lo que me lleva a ir probándolos en busca de aquellos que mejoren mi flujo de trabajo o la interfaz de Neovim.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.