Autocommands
Definição curta: Autocommands são comandos que executam automaticamente quando certos eventos ocorrem (como abrir um arquivo, salvar, mudar de modo). São o sistema de hooks do Neovim.
Antes de começar
- Saber sair do Neovim (
:q) e navegar em modo normal
O que você vai aprender
- Explicar Sintaxe básica com suas palavras
- Explicar Eventos comuns com suas palavras
- Explicar Padrões de arquivo com suas palavras
- Localizar o assunto desta página no
:helpdo seu próprio Neovim
O que é
Autocommands permitem executar ações reativas baseadas em eventos do editor. São essenciais para configuração de plugins, formatação automática e responder a eventos do sistema.
Índice de sub-tópicos
Sintaxe básica
autocmd <eventos> <padrão> <comando>
Exemplo:
autocmd BufWritePre *.lua :lua vim.lsp.buf.format()Eventos comuns
| Evento | Descrição |
|---|---|
BufReadPre | Antes de ler buffer |
BufReadPost | Após ler buffer |
BufWritePre | Antes de salvar buffer |
BufWritePost | Após salvar buffer |
FileType | Quando tipo de arquivo é detectado |
InsertEnter | Ao entrar em modo Insert |
InsertLeave | Ao sair de modo Insert |
TermOpen | Ao abrir terminal |
VimEnter | Após iniciar Neovim |
VimLeavePre | Antes de sair do Neovim |
LSPAttach | Quando LSP client anexa a buffer |
Padrões de arquivo
| Padrão | Descrição |
|---|---|
*.lua | Arquivos Lua |
*.py | Arquivos Python |
*.md | Arquivos Markdown |
* | Todos os arquivos |
Grupos de autocommands
Grupos permitem organizar e limpar autocommands:
augroup MyGroup
autocmd!
autocmd BufWritePre *.lua :lua vim.lsp.buf.format()
augroup END
O autocmd! dentro do grupo limpa autocommands anteriores do mesmo grupo.
Exemplo Lua
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*.lua",
callback = function()
vim.lsp.buf.format()
end,
})Você aprendeu
- Sintaxe básica
- Eventos comuns
- Padrões de arquivo
- Grupos de autocommands
- Exemplo Lua
Perguntas para reflexão
- O que Sintaxe básica resolve, e o que se perde sem isso?
- O que Eventos comuns resolve, e o que se perde sem isso?
- O que Padrões de arquivo resolve, e o que se perde sem isso?
- Qual parte desta página você conseguiria reproduzir sem consultar, direto no editor?
Artigos relacionados
Veja também
- Configuração LSP — Autocommands com LSP
- init.lua básico — Configuração inicial
Referências
- Neovim Autocmd Documentation — Documentação oficial