https://github.com/ailsonguedes/neovim-lua-configs
🌑 Neovim configs, now with lua!
https://github.com/ailsonguedes/neovim-lua-configs
lua lua-script neovim neovim-config neovim-lua nvim nvim-lua nvim-plugin
Last synced: 6 days ago
JSON representation
🌑 Neovim configs, now with lua!
- Host: GitHub
- URL: https://github.com/ailsonguedes/neovim-lua-configs
- Owner: ailsonguedes
- Created: 2024-04-30T16:16:36.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-16T17:24:29.000Z (about 1 year ago)
- Last Synced: 2025-03-06T03:25:29.570Z (about 1 year ago)
- Topics: lua, lua-script, neovim, neovim-config, neovim-lua, nvim, nvim-lua, nvim-plugin
- Language: Lua
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NeoVim Configs - 🌑
[](https://www.gnu.org/licenses/gpl-3.0.html)     
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.
## O que este projeto faz?
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-lspconfig` para `pyright` (Python) e `hls` (Haskell).
- Autocomplete/Snippets: `nvim-cmp` e `cmp-nvim-lsp`.
Erros em Tempo Real: `ALE` (Asynchronous Lint Engine).
Pesquisa Fuzzy: `telescope.nvim`.
## Como eu rodo ele na minha máquina? (Instalação)
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).
### Pré-requisitos
1. Instale o Neovim (v0.9.0+).
2. Instale o Git.
3. Configure sua Chave SSH com o GitHub.
### A. Limpeza (Recomendado)
Antes de instalar, remova quaisquer configurações antigas para evitar conflitos de caminho:
```bash
# Apaga configurações antigas, se existirem
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
```
### B. Clonagem e Instalação
1. Clone o Repositório: Clone este repositório para o local padrão de configuração do Neovim:
```bash
git clone git@github.com:SeuUsuario/SeuRepositorio.git ~/.config/nvim
```
2. Inicie o Neovim: Abra o Neovim pela primeira vez.
```bash
nvim
```
O bloco de bootstrap (inicialização) no init.lua irá clonar e instalar o paq-nvim automaticamente.
3. Sincronização de Plugins: O Neovim provavelmente abrirá com a barra de comandos. Execute o comando de sincronização:
```bash
:PaqSync
```
O `PaqSync` baixará todos os plugins listados, como `lualine`, `nvim-lspconfig`, e `nvim-cmp`.
4. Reinicie o Neovim: Feche e abra o Neovim novamente para que todas as configurações entrem em vigor.
Use `:q` para sair
```bash
:q
```
ou `:wq` para salvar e sair
```bash
:wq
```
O tema tokyonight e a barra lualine devem carregar corretamente.
## Como eu uso? (Exemplos básicos)
Aqui estão alguns dos atalhos mais comuns configurados:
| Ação | Atalho (Normal Mode) | Plugin | Descrição |
| :--- | :--- | :--- | :--- |
| **Pesquisa de Arquivos** | `ff` | `telescope` | Abre o finder para buscar arquivos no projeto. |
| **Pesquisa de Texto** | `fg` | `telescope` | Procura texto em todos os arquivos (`live_grep`). |
| **Navegação de Buffers** | `fb` | `telescope` | Lista todos os buffers abertos. |
| **Árvore de Arquivos** | `n` ou `` | `nvim-tree` | Abre/fecha a barra lateral do explorador de arquivos. |
| **Autocomplete** | `` | `nvim-cmp` | Força a exibição do menu de autocompletar. |
| **Confirmar Comp** | `` (Enter) | `nvim-cmp` | Confirma a seleção do menu de autocompletar. |
## Configurações Específicas de Linguagem
- Python: O Language Server pyright é iniciado automaticamente em qualquer arquivo .py.
- Haskell: O Language Server hls (Haskell Language Server) é iniciado automaticamente para arquivos Haskell.
## Como contribuo?
Sinta-se à vontade para sugerir melhorias, correções de bugs ou adições de plugins!
1. Faça um Fork deste repositório.
2. Crie uma Branch para sua feature (`git checkout -b feature/minha-feature`).
3. Commit suas mudanças (`git commit -m 'feat: Adiciona plugin X'`).
4. Faça Push para a branch (`git push origin feature/minha-feature`).
5. Abra um Pull Request.