1 Dependências
sudo apt install ripgrep -y
O ripgrep é obrigatório para busca de texto em todos os arquivos (<leader>fg).
2 Neovim
O apt do Ubuntu entrega versão desatualizada. Instale via AppImage:
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage
chmod u+x nvim-linux-x86_64.appimage
sudo mv nvim-linux-x86_64.appimage /usr/local/bin/nvim
nvim --version
3 Configuração
git clone https://github.com/nandobfer/nvim-config ~/.config/nvim
nvim # lazy.nvim instala todos os plugins automaticamente
Aguarde a instalação completar antes de usar.
4 Plugins
| Plugin | Função |
| lazy.nvim | Gerenciador de plugins com lazy loading |
| nvim-tree | Árvore de arquivos lateral |
| telescope | Busca fuzzy de arquivos, texto e buffers |
| mason + mason-lspconfig | Instalador de servidores LSP (:Mason) |
| nvim-lspconfig | Integração com servidores de linguagem |
| nvim-treesitter | Syntax highlighting avançado |
| neogit + diffview | Interface visual para Git |
| gitsigns | Indicadores de mudanças git na margem |
LSP ativo: vtsls para TypeScript / JavaScript / React (TSX).
5 Atalhos
<leader> = Espaço
Arquivos e navegação
| Atalho | Ação |
| <leader>e | Abrir/fechar árvore de arquivos |
| <leader>ff | Buscar arquivo pelo nome |
| <leader>fg | Buscar texto em todos os arquivos |
| <leader>fb | Listar buffers abertos |
LSP — só funciona em arquivos com servidor ativo (.ts, .tsx)
| Atalho | Ação |
| <leader>gd | Ir à definição |
| <leader>gr | Ver todas as referências |
| <leader>gi | Ir à implementação |
| <leader>rn | Renomear símbolo |
| K | Documentação / hover |
Utilitários
| Atalho | Ação |
| <leader>g | Abrir Neogit (painel Git visual) |
| <leader>cp | Copiar caminho relativo do arquivo atual |
| <leader>cP | Copiar caminho absoluto |
| <leader>cs | Copiar seleção para clipboard (Visual) |
6 Vim Motions — Referência Rápida
Movimentação
| Tecla | Ação |
| h j k l | ← ↓ ↑ → |
| w / b / e | Próxima palavra / anterior / fim da palavra |
| 0 / ^ / $ | Início da linha / 1º char não-espaço / fim |
| gg / G | Início / fim do arquivo |
| Ctrl+d / Ctrl+u | Descer / subir meia página |
| { / } | Parágrafo anterior / próximo |
| % | Ir para o par de () {} [] |
Modos
| Tecla | Ação |
| i / a | Insert antes / após o cursor |
| o / O | Nova linha abaixo / acima e Insert |
| v / V / Ctrl+v | Visual por char / linha / bloco |
| Esc | Voltar para Normal |
Edição
| Tecla | Ação |
| dd / yy / p | Deletar / copiar / colar linha |
| u / Ctrl+r | Desfazer / refazer |
| ciw | Deletar palavra inteira e entrar em Insert |
| ci" / ci( | Deletar conteúdo entre aspas / parênteses |
| >> / << | Indentar / des-indentar |
| :%s/foo/bar/g | Substituir em todo o arquivo |
Janelas
| Tecla | Ação |
| Ctrl+w s / Ctrl+w v | Dividir horizontal / vertical |
| Ctrl+w h/j/k/l | Navegar entre painéis |
| Ctrl+w q | Fechar painel atual |
Comandos
| Comando | Ação |
| :w | Salvar |
| :q / :q! | Fechar / fechar sem salvar |
| :wq | Salvar e fechar |
7 Solução de Problemas
| Problema | Solução |
| Plugins não instalam | Feche e abra novamente — lazy.nvim retoma de onde parou |
| LSP não funciona | Abra :Mason e instale o vtsls |
| Ícones como quadrados | Fonte MesloLGS NF não configurada no terminal local — ver Zsh Seção 1 |
| <leader>fg não funciona | Verifique rg --version — ripgrep não instalado |