https://github.com/pol-p/nvim-config
Modern & minimalist Neovim configuration with LSP, Telescope, Neo-tree, and Catppuccin theme. Ready-to-use setup with smart autocompletion and snippets.
https://github.com/pol-p/nvim-config
catppuccin editorconfig lazy-nvim lsp lua neovim telescope
Last synced: 2 months ago
JSON representation
Modern & minimalist Neovim configuration with LSP, Telescope, Neo-tree, and Catppuccin theme. Ready-to-use setup with smart autocompletion and snippets.
- Host: GitHub
- URL: https://github.com/pol-p/nvim-config
- Owner: pol-p
- Created: 2025-07-11T22:01:32.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-26T21:49:38.000Z (10 months ago)
- Last Synced: 2025-08-27T06:34:47.901Z (10 months ago)
- Topics: catppuccin, editorconfig, lazy-nvim, lsp, lua, neovim, telescope
- Language: Lua
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mi Configuración de Neovim
Una configuración moderna y minimalista de Neovim usando lazy.nvim como gestor de plugins.
## Características
- 📦 **Gestión de plugins**: [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🎨 **Tema**: [Catppuccin Mocha](https://github.com/catppuccin/nvim)
- 🔍 **Búsqueda**: [Telescope](https://github.com/nvim-telescope/telescope.nvim)
- 📁 **Explorador de archivos**: [Neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)
- 🌳 **Sintaxis mejorada**: [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
- 📊 **Barra de estado**: [Lualine](https://github.com/nvim-lualine/lualine.nvim)
- 🔧 **LSP**: [lsp-zero](https://github.com/VonHeikemen/lsp-zero.nvim) con Mason
- ✂️ **Snippets**: [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
- 🔄 **Autopairs**: Cierre automático de paréntesis y comillas
- 🤖 **AI**: [GitHub Copilot](https://github.com/github/copilot.vim) para sugerencias de código
- 🚀 **Productividad**: nvim-surround para manipulación de texto
- ⚡ **Atajos personalizados**: Keymaps optimizados para flujo de trabajo
## Requisitos
- **Neovim** >= 0.9.0
- **Git** para la instalación de plugins
- **Node.js** (para algunos LSP servers)
- **Go** (para gopls)
- Una terminal con soporte para true color
## 🛠️ Instalación
### 1. Hacer backup de tu configuración actual (opcional)
```bash
mv ~/.config/nvim ~/.config/nvim.backup
```
### 2. Clonar esta configuración
```bash
git clone https://github.com/tu-usuario/nvim-config ~/.config/nvim
```
### 3. Abrir Neovim
```bash
nvim
```
Los plugins se instalarán automáticamente en el primer arranque.
## ⌨️ Keymaps Principales
### General
- `` - Leader key
### Telescope (Búsqueda)
- `ff` - Buscar archivos
- `fg` - Buscar texto (live grep)
- `fb` - Buscar buffers
- `fh` - Buscar ayuda
### Neo-tree (Explorador)
- `e` - Toggle Neo-tree
- `o` - Focus en Neo-tree
### Navegación entre ventanas
- `` - Ventana izquierda
- `` - Ventana derecha
- `` - Ventana inferior
- `` - Ventana superior
- `x` - Cerrar ventana actual
### LSP
- `gd` - Ir a definición
- `K` - Mostrar documentación
- `ca` - Acciones de código
- `d` - Mostrar diagnósticos
- `[d` / `]d` - Navegar entre diagnósticos
### Autocompletado
- `` - Siguiente sugerencia / expandir snippet
- `` - Sugerencia anterior / saltar atrás en snippet
- `` - Confirmar selección
- `` - Forzar autocompletado
- `` - Cancelar autocompletado
### GitHub Copilot (AI)
- `` - Aceptar sugerencia de Copilot
- `Alt+]` - Siguiente sugerencia (keymap nativo)
- `Alt+[` - Sugerencia anterior (keymap nativo)
- `` - Rechazar sugerencia (keymap nativo)
### Productividad
- `d` - Duplicar línea actual
- `h` - Limpiar resaltado de búsqueda
- `w` - Guardar archivo rápido
- `` - Seleccionar todo
- `` - Mover línea/selección hacia abajo
- `` - Mover línea/selección hacia arriba
### Manipulación de texto (nvim-surround)
- `ys{movimiento}{carácter}` - Añadir delimitador alrededor
- `ds{carácter}` - Eliminar delimitador
- `cs{origen}{destino}` - Cambiar delimitador
- Ejemplo: `cs"'` cambia "hola" por 'hola'
### Comandos nativos de Vim (ya disponibles)
- `ci"` - **C**ambiar dentro de "comillas" (borra y entra en insert)
- `di"` - **D**eliminar dentro de "comillas" (solo borra)
- `yi"` - **C**opiar dentro de "comillas"
- `vi"` - **S**eleccionar dentro de "comillas"
- Funciona con: `"` `'` `` ` `` `(` `)` `[` `]` `{` `}` `<` `>`
### Modo visual mejorado
- `` / `` - Mover selección arriba/abajo manteniendo selección
- `<` / `>` - Indentar izquierda/derecha manteniendo selección
## 🏛️ Estructura
```
~/.config/nvim/
├── init.lua # Configuración principal
├── lua/
│ ├── config/
│ │ └── lazy.lua # Configuración de lazy.nvim
│ └── plugins/
│ ├── colorscheme.lua # Tema Catppuccin
│ ├── copilot.lua # GitHub Copilot AI
│ ├── lsp.lua # LSP y autocompletado
│ ├── lualine.lua # Barra de estado
│ ├── neotree.lua # Explorador de archivos
│ ├── productivity.lua # Atajos de productividad
│ ├── telescope.lua # Búsqueda fuzzy
│ └── treesitter.lua # Sintaxis mejorada
├── lazy-lock.json # Versiones de plugins (generado)
└── README.md # Este archivo
```
## 🎨 Personalización
### Cambiar tema
Edita `lua/plugins/colorscheme.lua` y cambia `flavour`:
```lua
flavour = "latte" -- latte, frappe, macchiato, mocha
```
### Añadir nuevos plugins
Crea un nuevo archivo en `lua/plugins/` o añade al existente:
```lua
return {
"autor/plugin",
config = function()
-- configuración
end
}
```
### Configurar nuevos LSP
Edita `ensure_installed` en `lua/plugins/lsp.lua`:
```lua
ensure_installed = {'gopls', 'lua_ls', 'ts_ls', 'pyright'},
```
## ⚙️ Solución de problemas
### Los plugins no se instalan
1. Verifica tu conexión a internet
2. Ejecuta `:Lazy sync` en Neovim
### LSP no funciona
1. Verifica que el servidor esté instalado: `:Mason`
2. Revisa los logs: `:LspLog`
### Iconos no se muestran
1. Instala una Nerd Font
2. Configura tu terminal para usar la fuente
### Tecla Escape no funciona
Si la tecla Escape no cambia de Insert a Normal mode:
1. Verifica que no hay conflictos con `` (equivalente a Escape)
2. Usa `` como alternativa a Escape
3. Revisa configuración del terminal (iTerm2/Terminal.app)
## 📚 Recursos útiles
- [Documentación de Neovim](https://neovim.io/doc/)
- [lazy.nvim](https://github.com/folke/lazy.nvim)
- [Awesome Neovim](https://github.com/rockerBOO/awesome-neovim)
## 📄 Licencia
MIT License