Esta é a configuração pessoal do Neovim 0.9+ (composta majoritariamente em Lua), utilizando o Paq-nvim como gerenciador de pacotes. O objetivo é criar um ambiente de desenvolvimento rápido e eficiente, focado em LSP (Language Server Protocol), autocomplete e produtividade no terminal, com foco inicial em Python e Haskell.
Este projeto transforma o Neovim em um IDE leve e funcional, configurando os seguintes recursos principais:
-
Gerenciamento de Pacotes:
paq-nvim. -
Barra de Status:
lualine.nvim(Tema Tokyonight). -
Navegação de Arquivos:
nvim-tree.lua. -
LSP: Configuração
nvim-lspconfigparapyright(Python) ehls(Haskell). -
Autocomplete/Snippets:
nvim-cmpecmp-nvim-lsp.
Erros em Tempo Real: ALE (Asynchronous Lint Engine).
Pesquisa Fuzzy: telescope.nvim.
A instalação requer o Neovim (versão 0.9.0 ou superior), Git e uma chave SSH configurada para clonar repositórios privados/públicos (recomendado para maior segurança e velocidade).
-
Instale o Neovim (v0.9.0+).
-
Instale o Git.
-
Configure sua Chave SSH com o GitHub.
Antes de instalar, remova quaisquer configurações antigas para evitar conflitos de caminho:
# Apaga configurações antigas, se existirem
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim- Clone o Repositório: Clone este repositório para o local padrão de configuração do Neovim:
git clone git@github.com:SeuUsuario/SeuRepositorio.git ~/.config/nvim- Inicie o Neovim: Abra o Neovim pela primeira vez.
nvimO bloco de bootstrap (inicialização) no init.lua irá clonar e instalar o paq-nvim automaticamente.
- Sincronização de Plugins: O Neovim provavelmente abrirá com a barra de comandos. Execute o comando de sincronização:
:PaqSyncO PaqSync baixará todos os plugins listados, como lualine, nvim-lspconfig, e nvim-cmp.
- Reinicie o Neovim: Feche e abra o Neovim novamente para que todas as configurações entrem em vigor.
Use :q para sair
:qou :wq para salvar e sair
:wqO tema tokyonight e a barra lualine devem carregar corretamente.
Aqui estão alguns dos atalhos mais comuns configurados:
| Ação | Atalho (Normal Mode) | Plugin | Descrição |
|---|---|---|---|
| Pesquisa de Arquivos | <leader>ff |
telescope |
Abre o finder para buscar arquivos no projeto. |
| Pesquisa de Texto | <leader>fg |
telescope |
Procura texto em todos os arquivos (live_grep). |
| Navegação de Buffers | <leader>fb |
telescope |
Lista todos os buffers abertos. |
| Árvore de Arquivos | <leader>n ou <C-n> |
nvim-tree |
Abre/fecha a barra lateral do explorador de arquivos. |
| Autocomplete | <C-Space> |
nvim-cmp |
Força a exibição do menu de autocompletar. |
| Confirmar Comp | <CR> (Enter) |
nvim-cmp |
Confirma a seleção do menu de autocompletar. |
-
Python: O Language Server pyright é iniciado automaticamente em qualquer arquivo .py.
-
Haskell: O Language Server hls (Haskell Language Server) é iniciado automaticamente para arquivos Haskell.
Sinta-se à vontade para sugerir melhorias, correções de bugs ou adições de plugins!
-
Faça um Fork deste repositório.
-
Crie uma Branch para sua feature (
git checkout -b feature/minha-feature). -
Commit suas mudanças (
git commit -m 'feat: Adiciona plugin X'). -
Faça Push para a branch (
git push origin feature/minha-feature). -
Abra um Pull Request.