Uma configuração minimalista e moderna do Neovim focada em produtividade e performance.
- 🎨 Tema: Evergarden (variante winter)
- 🔍 Busca fuzzy: Telescope para arquivos e texto
- 🌳 Syntax highlight: Tree-sitter com suporte a múltiplas linguagens
- 💬 Autocompletar: nvim-cmp com LSP integration
- 🔧 LSP: Pyright (Python) e ts_ls (TypeScript/JavaScript)
- ✨ Formatação automática: Conform.nvim (formata ao salvar)
- 🐛 Linting: nvim-lint com pylint e eslint_d
- 📟 Terminal flutuante: toggleterm.nvim
- 🎯 Indentação visual: indent-blankline
- 📝 Git integration: gitsigns
- 📋 Clipboard: OSC52 para terminals remotos
- Neovim >= 0.9.0
- Git
- Node.js (para LSP servers)
- Python 3.x (para LSP e formatadores)
Formatadores:
# Python
pip install black isort
# JavaScript/TypeScript
npm install -g prettier
# Lua (opcional)
cargo install styluaLinters:
# Python
pip install pylint
# JavaScript/TypeScript
npm install -g eslint_dLanguage Servers:
# Python
npm install -g pyright
# TypeScript/JavaScript
npm install -g typescript-language-server typescript# Backup da configuração antiga (se existir)
mv ~/.config/nvim ~/.config/nvim.backup
# Clone este repositório
git clone https://github.com/sammarxz/nvim.git ~/.config/nvim
# Abra o Neovim (plugins serão instalados automaticamente)
nvimNa primeira execução, aguarde o lazy.nvim instalar todos os plugins.
Leader key: ,
| Atalho | Descrição |
|---|---|
Ctrl+p |
Buscar arquivos |
Ctrl+f |
Buscar texto no projeto |
,w |
Salvar arquivo |
,q |
Fechar arquivo |
Shift+h |
Buffer anterior |
Shift+l |
Próximo buffer |
| Atalho | Descrição |
|---|---|
,t |
Toggle terminal flutuante |
| Atalho | Descrição |
|---|---|
,f |
Formatar buffer/seleção |
| Auto | Formata ao salvar |
| Atalho | Descrição |
|---|---|
gd |
Go to definition |
gr |
Show references |
K |
Hover documentation |
[d |
Diagnóstico anterior |
]d |
Próximo diagnóstico |
| Atalho | Descrição |
|---|---|
J/K |
Mover linha(s) (visual mode) |
</> |
Indentar (visual mode) |
Y |
Copiar para clipboard (visual mode) |
Edite lua/plugins/ui.lua:
opts = {
theme = {
variant = "winter", -- winter | summer | spring | fall
accent = "green" -- red | orange | yellow | green | ...
},
}Edite lua/plugins/treesitter.lua:
ensure_installed = {
-- ... linguagens existentes
"rust", "go", "cpp", -- adicione aqui
}Edite lua/plugins/lsp.lua e adicione:
vim.api.nvim_create_autocmd("FileType", {
pattern = "rust", -- tipo de arquivo
callback = function()
vim.lsp.start({
name = "rust_analyzer",
cmd = { "rust-analyzer" },
capabilities = capabilities,
root_dir = get_root_dir(vim.api.nvim_buf_get_name(0)),
})
end,
})MIT
Plugins utilizados:
- lazy.nvim
- telescope.nvim
- nvim-treesitter
- nvim-lspconfig
- nvim-cmp
- conform.nvim
- nvim-lint
- toggleterm.nvim
- evergarden
- gitsigns.nvim
Feito com 💚 e Neovim
