Diego's Island.
Dicen que Nvim es el mejor editor de código. Mentira, lo acabo de decir yo que soy un simple mortal, pero no soy el único que lo dice.
Llevo usando neovim desde hace algún tiempo ya, no tanto, menos de un año creo. Pero aún así ha sido suficiente para darme cuenta de por qué lo dicen.
Sin embargo, cuando lo usé por primera vez instalé LazyVim, porque soy vago. Luego, pasé a usar NvChad, sin ser un Chad. En fin, que nunca pasé por el proceso de configurar el editor a mi gusto personal, siempre usé configuraciones pre-hechas(No sabía como decirles).
Ahora, debido a un grave problemilla(hice sudo rm -rf /* y peté mi instalación de arch), tuve que instalar Mint y nvim desde cero. Tengo muy mala conexión a internet para instalar NvChad o LazyVim de nuevo y I don´t get bitches, so voy a configurar Neovim a mano.
Podría pasar siglos configurando nvim, así que en este post solo haré un mini-resumen de las primeras cosas que voy a configurar, de forma de que pueda servir como una pequeña introducción sobre configurar nvim para novatos de Nvim como yo.
La primera cuestión es decidir si quiero configurar nvim usando Lua o Vimscript. Lua es el lenguaje que usan las configuraciones modernas. Vimscript ya ha pasado de moda. No se cuales son las diferencias claras pero voy a elegir Lua.
Puedes uasr uno de los dos solamente. Crear un archivo de configuración en Lua y otro en Vimscript hará que al abrir nvim te muestre un error de conflicto entre archivos y probablemente no se establezca ninguna configuración. Hay formas de usar ambos en el mismo archivo pero yo no me liaré tanto, lo mantendré fácil y sencillo.
Ahora mismo, mi nvim está en su estado más puro. Adjunto captura:

Así que vamos a establecer las configuraciones más básicas para empezar.
Lo primero es crear el archivo de configuración.
mkdir ~/.config/nvim
cd ~/.config/nvim
touch init.lua
nvim .
Ahora, deberías estar en la vista Netwr de Nvim que te sirve para navegar entre carpetas y abrir el archivo que quieres editar.
Abre el archivo init.lua. Aquí ya puedes empezar a programar en Lua. Es más. Si escriber print("Hola Mundo"), guardas, sales y vuelves a entrar a neovim, verás un mensaje de Hola Mundo en la pate inferior de la pantalla.
Esto podrá ser útil en el futuro, pero no por ahora. Primero, configuremos algunas cosillas:
vim.o.number = true
vim.o.relativenumber = true
:wq, nvim ., abre init.lua y ahora deberías ver los números de cada línea y los números relativos también.
vim.o en lua, es la alternativa a set en vimscript.
Luego, solo debes escribir el nombre de la propiedad que deseas configurar y establecer su valor.
Ahora, ejecuta :Ex para abrir de nuevo la vista de archivos. Presiona d para crear un nuevo directorio, llámalo lua, dentro de él, crea otro llamado core y dentro de lua/core crea(presiona %) un archivo mappings.lua.
La carpeta core puedes llamarla como prefieras.
Ahora, abre el archivo que creaste y escribe:
vim.g.mapleader = " " -- Establece Espacio como la tecla Líder. Puedes poner la que tú prefieras.
vim.keymap.set("n", "<leader>ff", vim.cmd.Ex) -- Espacio+ff abre la vista de archivos.
Luego, ve al init.lua y agrega esto donde prefieras:
require("core.mappings") -- O [nombre de tu carpeta].mappings
Ahora tienes configuradas unas opciones básicas y un atajo de teclado para abrir la vista netwr. Ya estoy casi al terminar este post. Antes, cambiemos el colorscheme.
En el modo nomral(cuando presionas Esc), puedes ejecutar :colorscheme nombre para escoger un tema. Pero eso solo funcionará para la sesión actual. Si cierras y abres nvim volverás al tema por defecto. Así que vamos a escribir esto en nuestro archivo init.lua:
vim.cmd.colorscheme("retrobox")
Guarda, sal y abre nvim de nuevo. Ahora sí, tienes el tema retrobox activado. Si deseas otro solo debes cambiar el nombre en el archivo init.lua. Puedes tener la lista de los temas disponibles si escribes :colorscheme <TAB>.
Ya te hice una pequeña introducción a esta tarea, pero es tan complejo que el post podría tener un millón de palabras. Así que mejor sigue por tu cuenta.
Puedes ir a esta web para tener un manual más extenso o directamente leer la documentación de Nvim… aunque, buena suerte con eso XD.
Espero que esta simple y corta explicación te ayude y motive a crear tu configuración personalizada de nvim. Si no quieres hacerlo, siempre puedes instalar configuraciones pre-hechas. Goodbay.