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.