Me encuentro una vez más regresando a Neovim y quisiera dejar el registro de mi configuración definitiva.
Instalación de Neovim
Mi sistema operativo es Fedora 41 y, para comenzar, realizaré la instalación de Neovim con el siguiente comando:
sudo dnf install neovim
Configuración inicial de Neovim
Una vez instalado Neovim, comenzaré por definir las carpetas para la configuración. Esto lo realizaremos en la carpeta ~/.config/nvim, y dentro de ella crearemos la carpeta lua, además de config dentro de lua.
Dentro de la carpeta config, crearemos el archivo settings.lua, el cual tendrá la configuración básica de Neovim, como números de línea, tabulaciones, portapapeles, etc. A continuación, dejo el contenido del archivo:
~/.config/nvim/config/settings.lua
-- Configuración básica del editor
local opt = vim.opt
-- Interfaz
opt.number = true -- Mostrar números de línea
opt.relativenumber = true -- Líneas relativas para mejor navegación
opt.signcolumn = "yes" -- Columna para símbolos como diagnósticos
opt.cursorline = true -- Resaltar la línea actual
-- Búsqueda
opt.ignorecase = true -- Ignorar mayúsculas/minúsculas en búsquedas
opt.smartcase = true -- Respetar mayúsculas si se usan en búsqueda
opt.incsearch = true -- Resaltar coincidencias mientras escribes
-- Espaciado
opt.tabstop = 4 -- Tamaño de tabulaciones
opt.shiftwidth = 4 -- Nivel de sangría
opt.expandtab = true -- Usar espacios en lugar de tabulaciones
-- Portapapeles
opt.clipboard = "unnamedplus" -- Usar portapapeles del sistema
Para que esta configuración inicial sea tomada en cuenta, este archivo debe ser llamado desde el archivo init.lua. Para ello, lo crearemos en la raíz de ~/.config/nvim/.
~/.config/nvim/init.lua
-- Carga la configuración básica de Neovim
require('config.settings')
Finalmente, la estructura de la carpeta ~/.config/nvim/ quedará de la siguiente manera:
├── init.lua
└── lua
└── settings.lua
Instalación de un administrador de plugins
Para instalar algunos plugins y mejorar Neovim con funcionalidades adicionales, es necesario contar con un administrador de plugins. En este caso, instalaremos Lazy.nvim.
Nota:
lazy.nvim es un moderno gestor de plugins para Neovim.
Para ello, crearemos el archivo lazy.lua dentro de la carpeta config.
~/.config/nvim/config/lazy.lua
-- Inicialización de Lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
-- Si Lazy.nvim no está instalado, lo clonamos desde GitHub
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Error al clonar Lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPresiona cualquier tecla para salir..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Definimos las teclas líderes (mapleader) antes de cargar los plugins
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Configuración de Lazy.nvim
require("lazy").setup({
spec = {
-- Aquí se pueden importar plugins adicionales
-- { import = "plugins.example" }, -- Comentado por ahora
},
-- Habilitamos la actualización automática de plugins
checker = { enabled = true },
})
Finalmente, llamamos al archivo lazy.lua desde init.lua:
~/.config/nvim/init.lua
-- Carga la configuración básica de Neovim
require("config.settings")
-- Carga el administrador de plugins Lazy.nvim
require("config.lazy")
Así queda la estructura completa:
├── init.lua
└── lua
└── config
├── lazy.lua
└── settings.lua
Instalación y configuración del corrector ortográfico
Ahora configuraremos Neovim para que tenga soporte de corrección ortográfica.
Editaremos el archivo settings.lua para incluir las opciones necesarias:
~/.config/nvim/config/settings.lua
-- Configuración básica del editor
local opt = vim.opt
-- Interfaz
opt.number = true -- Mostrar números de línea
opt.relativenumber = true -- Líneas relativas para mejor navegación
opt.signcolumn = "yes" -- Columna para símbolos como diagnósticos
opt.cursorline = true -- Resaltar la línea actual
-- Búsqueda
opt.ignorecase = true -- Ignorar mayúsculas/minúsculas en búsquedas
opt.smartcase = true -- Respetar mayúsculas si se usan en búsqueda
opt.incsearch = true -- Resaltar coincidencias mientras escribes
-- Espaciado
opt.tabstop = 4 -- Tamaño de tabulaciones
opt.shiftwidth = 4 -- Nivel de sangría
opt.expandtab = true -- Usar espacios en lugar de tabulaciones
-- Portapapeles
opt.clipboard = "unnamedplus" -- Usar portapapeles del sistema
-- Corrector ortográfico
opt.spell = true -- Habilita la verificación ortográfica
opt.spelllang = { "es", "en_us" } -- Idiomas para la verificación ortográfica
-- Habilitar el corrector ortográfico en archivos de texto y markdown
vim.api.nvim_create_autocmd("FileType", {
pattern = { "markdown", "text" },
callback = function()
vim.opt_local.spell = true
vim.opt_local.spelllang = { "es", "en_us" }
end,
})
Cuando abramos Neovim, este verificará si existen los archivos de idiomas. En caso de que no existan, mostrará mensajes para que los descarguemos.
Este sistema subrayará las palabras con errores. Para corregirlas:
- Nos posicionamos sobre la palabra incorrecta.
- Presionamos
z=, lo que mostrará una lista de sugerencias. - Ingresamos el número de la opción adecuada y presionamos
Enter.
Photo by charlesdeluvio on Unsplash
Franco
Transformando ideas en experiencias digitales excepcionales. Especialistas en desarrollo web, arquitectura de software y soluciones tecnológicas innovadoras.
Artículos relacionados
Explora más contenido similar basado en temas relacionados