Una configuración moderna y modular de Neovim optimizada para desarrollo en Go, Rust, JavaScript/TypeScript y más.
- 🔥 Lazy loading de plugins para inicio ultra rápido
- 🦀 Soporte completo para Rust con rustaceanvim
- 🐹 Desarrollo en Go con gopls y herramientas avanzadas
- 😊 Emoji picker integrado con Telescope
- 🔍 Búsqueda fuzzy potente con Telescope + ripgrep
- 🎨 Syntax highlighting avanzado con Treesitter
- 💡 LSP configurado para múltiples lenguajes
- 📦 Mason para gestión automática de LSPs y herramientas
- 🏗️ Configuración modular y fácil de extender
- Neovim >= 0.9.0
- Git
- Node.js >= 16.0
- npm o yarn
- ripgrep (para búsquedas rápidas)
- fd (para búsqueda de archivos)
- Go >= 1.20 (para desarrollo Go)
- Rust + Cargo (para desarrollo Rust)
- Python >= 3.8 (para algunos LSPs)
- Scoop (Gestor de paquetes para windows)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression- Paquetes necesarios
scoop bucket add main
scoop bucket add versions
scoop bucket add nerd-fonts
scoop install yarn lua-language-server neovim nodejs-lts python cmake make gcc rustup go JetBrainsMono-NF- Paquetes necesarios
brew install neovim yarn lua-language-server node@22 python cmake make gcc rustup go
brew tap homebrew/cask-fonts
brew install font-jetbrains-mono-nerd-font- Esenciales
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essencial cmake make gcc git curl unzip- Nodejs Documentación oficial
# Descarga e instala n y Node.js:
curl -fsSL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s 22
# Node.js ya se instala durante n-install, pero también puedes instalarlo manualmente:
# n install 22
# Verify the Node.js version:
node -v # Should print "v22.19.0".
# Verifica versión de npm:
npm -v # Debería mostrar "10.9.3".
- Yarn
npm i --global yarn- Golang (Si se requiere)
# Con Scoop
scoop install ripgrep fd
# Con winget
winget install BurntSushi.ripgrep.MSVC
winget install sharkdp.fd# Con Homebrew
brew install ripgrep fd# Ubuntu/Debian
sudo apt install ripgrep fd-find -y
# Descargar desde: https://golang.org/dl/
# O con package manager:
# Windows (Chocolatey)
choco install golang
# macOS (Homebrew)
brew install go
# Linux (Ubuntu/Debian)
sudo apt install golang-go# Instalar rustup (recomendado)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Windows: https://rustup.rs/# Linux/macOS
mv ~/.config/nvim ~/.config/nvim.backup
# Windows
move %LOCALAPPDATA%\nvim %LOCALAPPDATA%\nvim.backup# Linux/macOS
git clone https://github.com/tuusuario/uffnvim.git ~/.config/nvim
# Windows
git clone https://github.com/tuusuario/uffnvim.git %LOCALAPPDATA%\nvimnvim¡Listo! uffnvim instalará automáticamente todos los plugins y LSPs necesarios.
📝 Nota: Mason (incluido en uffnvim) instalará automáticamente la mayoría de LSPs incluyendo:
lua-language-servergopls(Go LSP)rust-analyzer(Rust LSP)pyright(Python LSP)clangd(C++ LSP)- Y muchos más...
No necesitas instalar estos LSPs manualmente, Mason se encarga de todo.
~/.config/nvim/
├── init.lua # Punto de entrada principal
├── lua/
│ ├── config/ # Configuraciones básicas
│ │ └── init.lua
│ ├── utils/ # Utilidades y helpers
│ │ └── helpers.lua
│ └── plugins/ # Plugins modulares
│ ├── init.lua # Cargador principal de plugins
│ ├── rust.lua # Plugins de Rust
│ ├── go.lua # Plugins de Go
│ ├── emojis.lua # Emoji picker
│ ├── telescope.lua # Configuración de Telescope
│ └── lsp.lua # Configuración de LSP
" Abrir file explorer
:Oil
" Buscar archivos
:Telescope find_files
" Buscar en contenido
:Telescope live_grep
" Picker de emojis
:Telescope emoji
" Gestionar plugins
:Lazy
" Gestionar LSPs y herramientas
:Mason
" Información del sistema
:checkhealth| Atajo | Descripción |
|---|---|
<leader>ff |
Buscar archivos |
<leader>fg |
Buscar en contenido |
<leader>em |
Emoji picker |
gd |
Ir a definición |
gr |
Referencias |
K |
Hover documentation |
<leader>ca |
Code actions |
Crea un nuevo archivo en lua/plugins/, por ejemplo lua/plugins/miplugin.lua:
return {
{
'autor/plugin-name',
config = function()
-- Tu configuración aquí
end
}
}El archivo se cargará automáticamente gracias a la función merge_plugins().
" Abrir Mason
:Mason
" Buscar e instalar tu LSP
" Ejemplo: 'i' para instalar python-lsp-serverEdita lua/config/keymaps.lua (o crea el archivo):
local map = vim.keymap.set
-- Tus atajos personalizados
map('n', '<leader>t', ':terminal<CR>', { desc = 'Abrir terminal' }):Lazy reload nombre-plugin
:Lazy sync:LspInfo
:LspRestart
:Mason:checkhealth telescopeVerifica que ripgrep y fd estén instalados.
:Lazy profileSi encuentras algún bug o tienes sugerencias, abre un issue en el repositorio.
¡Disfruta programando con uffnvim! 🚀