Configuración inicial para Neovim
Neovim es una versión moderna y renovada del editor de texto Vim. Aunque Neovim viene con una configuración básica que funciona bien para la mayoría de los usuarios, personalizarlo puede llevar tu experiencia al siguiente nivel. En este artículo, exploraremos una configuración mínima que puedes implementar para mejorar tu flujo de trabajo en Neovim.
Configuración básica
Comencemos con algunos ajustes básicos que afectarán la codificación de archivos y la sintaxis.
vim.scriptencoding = "utf-8"
vim.opt.encoding = "utf-8"
vim.opt.fileencoding = "utf-8"
vim.opt.syntax = "enable"
Estos ajustes garantizan que Neovim maneje correctamente los caracteres UTF-8 y habilite la sintaxis para resaltar la sintaxis del código.
Backups
Es crucial manejar cómo Neovim maneja los respaldos de archivos para evitar la creación de archivos innecesarios. Establecer estas opciones puede ayudar:
vim.opt.backup = false
vim.opt.swapfile = false
vim.opt.writebackup = false
Esto deshabilita la creación de archivos de respaldo y archivos de intercambio, lo que puede ser útil para mantener limpio tu espacio de trabajo.
Atajos de teclado
Crear atajos de teclado puede mejorar enormemente tu eficiencia en Neovim. Aquí hay algunas asignaciones de teclas útiles:
local options = { noremap = true }
-- Establecer el líder de teclas como el espacio
vim.g.mapleader = " "
-- Cambiar entre paneles usando Ctrl + h/j/k/l
vim.api.nvim_set_keymap("n", "<C-h>", "<C-w>h", options)
vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", options)
vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", options)
vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", options)
-- Dividir la ventana verticalmente con <leader>sv
vim.api.nvim_set_keymap("n", "<leader>sv", ":vsplit<CR>", options)
-- Salir de modo insertar con 'jk'
vim.api.nvim_set_keymap("i", ",,", "<ESC>", options)
-- Guardar y salir con <leader>w y <leader>q
vim.api.nvim_set_keymap("n", "<leader>w", ":w<CR>", options)
vim.api.nvim_set_keymap("n", "<leader>q", ":q<CR>", options)
vim.api.nvim_set_keymap("n", "<leader>wq", ":wq<CR>", options)
Configuración de plugins
Finalmente, considera utilizar la biblioteca lazy.nvim para cargar tus plugins de forma diferida y optimizar el tiempo de inicio de Neovim. Aquí está cómo configurarlo:
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
spec = {
{ import = "plugins" },
},
debug = false
})
Con lazy.nvim, tus plugins se cargarán solo cuando los necesites, lo que puede acelerar significativamente el tiempo de inicio de Neovim.
Puedes visitar el siguiente repositorio donde esta la configuración https://github.com/byandrev/minimal-neovim-config.
Conclusiones
Personalizar Neovim puede llevar tiempo y experimentación, pero con una configuración mínima como esta, puedes mejorar rápidamente tu flujo de trabajo y productividad.