Opções Básicas
Configurações essenciais que transformam o NeoVim em um editor moderno. Vamos configurar o arquivo options.lua.
O Arquivo de Configuração
Edite o arquivo lua/user/options.lua. Note o uso de blocos visuais para organizar cada categoria.
~/.config/nvim/lua/user/options.lua
local opt = vim.opt
-- Interface
opt.number = true -- Número absoluto na linha atual
opt.relativenumber = true -- Números relativos nas outras
opt.termguicolors = true -- Cores 24-bit
opt.cursorline = true -- Destacar linha atual
-- Indentação
opt.tabstop = 2 -- Largura visual do tab
opt.shiftwidth = 2 -- Espaços por indentação
opt.expandtab = true -- Converter tab em espaços
opt.smartindent = true -- Indentação inteligente
-- Comportamento
opt.clipboard = "unnamedplus" -- Clipboard do sistema
opt.splitright = true -- Split vertical à direita
opt.splitbelow = true -- Split horizontal abaixo
opt.undofile = true -- Undo persistente entre sessões
opt.updatetime = 250 -- Delay de resposta (ms)Busca Inteligente
Utilize ignorecase e smartcase para que a busca ignore maiúsculas a menos que você digite uma explicitamente.
Performance
Reduzir o updatetime para 250ms torna a interface mais reativa para plugins que mostram erros ou diagnósticos.
Clipboard no Linux
Para o
unnamedplus funcionar no Linux, você deve ter o xclip (X11) ou wl-clipboard (Wayland) instalado no seu sistema.Undo Persistente
Ao ativar o
undofile, o Neovim cria uma pasta interna para salvar o histórico. Você poderá dar "Undo" mesmo após fechar e abrir o terminal dias depois.Opções por Arquivo
Algumas linguagens pedem regras diferentes. Você pode usar vim.opt_local dentro de autocomandos:
lua
-- Python costuma usar 4 espaços
vim.api.nvim_create_autocmd("FileType", {
pattern = "python",
callback = function()
vim.opt_local.tabstop = 4
vim.opt_local.shiftwidth = 4
end,
})Dica de mestre
O init.lua é o "ponto zero" do seu Neovim. É a partir dele que o editor ganha vida e carrega toda a sua personalização.