Sistemas
VIM
``
Objetivo y alcance
Vim y Neovim como editores modales de alto rendimiento orientados a:
- Edición rápida de texto y código
- Automatización mediante comandos y macros
- Integración en entornos Unix/Linux y flujos DevOps
- Uso consistente en terminal, servidores y local
Tareas
- Acostumbrarse al uso básico (modos, movimiento, edición)
- Instalar Neovim (nvim)
- Entender LazyVim y su rol como distribución + gestor de plugins
- Instalar plugins indispensables
- Crear una configuración mínima y versionarla (Git)
Conceptos clave de Vim
- Editor modal: cada tecla tiene significado según el modo activo
- Filosofía: menos ratón, más teclado
- Composición de comandos:
verbo + objeto - Pensado para eficiencia a largo plazo, no curva de aprendizaje corta
Modos de Vim
- Modo normal
- Modo por defecto
- Navegación, borrado, copia, pegado, comandos
- Modo inserción
- Escritura de texto
- Se entra con
i,a,o, etc.
- Modo visual
- Selección de texto
v,V,Ctrl+v
- Modo comando
- Acceso con
: - Guardar, salir, buscar, ejecutar comandos
- Acceso con
Uso básico de Vim
- Recurso interactivo
Cambiar de modos
Esc- Sale de inserción o visual
- Vuelve siempre a modo normal
i- Entra en modo inserción antes del cursor
a- Inserta después del cursor
o- Nueva línea debajo y entra en inserción
Movimiento del cursor
- Movimiento básico
hizquierdajabajokarribalderecha
- Movimiento por palabras
wsiguiente palabrabpalabra anteriorefinal de palabra
- Movimiento rápido
- Usar números para repetir acciones
- Ejemplo:
9wmueve 9 palabras
- Ejemplo:
- Usar números para repetir acciones
Edición básica
- Borrar
xborra carácterddborra líneadwborra palabra
- Copiar y pegar
yycopia líneappega después del cursorPpega antes del cursor
- Deshacer y rehacer
udeshacerCtrl+rrehacerShortcuts salir de vim
Escvuelve a modo normal:wguardar:qsalir:wqguardar y salir:q!salir sin guardar
Registros y portapapeles
- Concepto
- Vim guarda texto copiado/borrado en registros
- Permite múltiples historiales de copia
- Recursos
Configurar Neovim en el entorno
Neovim es la evolución moderna de Vim:
- Mejor soporte Lua
- Integración nativa con LSP
- Comunidad activa y plugins modernos
Instalación de Neovim
- Instalar versión reciente (v0.10+ recomendado)
- Preferible vía gestor de paquetes del sistema o binario oficial
LazyVim
- Distribución de Neovim basada en:
- Lazy.nvim (gestor de plugins)
- Configuración modular y opinionada
- Ventajas
- Setup rápido
- Buenas prácticas por defecto
- Fácil extensión
- Recurso oficial
-
[🚀 Getting Started LazyVim](https://www.lazyvim.org/)
-
Plugins y colecciones
- Colecciones recomendadas
- Plugins QoL
- Starter kits
- Configuraciones reales
- Integración en navegador
LSP y desarrollo
- LSP (Language Server Protocol)
- Autocompletado
- Diagnósticos
- Go-to-definition
- Refactors
- Documentación
- Lsp - Neovim docs-lsp.html
- Help - Neovim docs-index.html_nvim-documentation
Recursos de aprendizaje (videos)
- Cambio desde editores tradicionales
- Configuración LSP moderna
- Curso completo en español
Buenas prácticas iniciales
- Aprender movimientos antes que plugins
- Memorizar combinaciones básicas
- Evitar ratón
- Usar Vim todos los días aunque sea poco tiempo
- Iterar configuración de forma incremental
VIM — Conceptos Avanzados y Ecosistema
Modelo mental de Vim
- Vim no es un editor de texto tradicional, es un lenguaje de edición
- Cada acción se compone de:
- Operador (qué hacer)
- Movimiento o texto objeto (sobre qué)
- Ejemplos mentales
- “borra hasta el final de la palabra”
- “cambia dentro de paréntesis”
- Esto permite:
- Edición semántica
- Velocidad sin memorizar cientos de atajos aislados
Operadores y objetos de texto
- Operadores comunes
dborrarccambiarycopiar>indentar<desindentar
- Objetos de texto
- Palabras
iwpalabra internaawpalabra con espacios
- Delimitadores
i(a(dentro/alrededor de paréntesisi{a{bloquesi"a"cadenas
- Palabras
- Ejemplos prácticos
ci"cambia el contenido de una cadenada(borra un bloque completo
Búsqueda y navegación avanzada
- Búsqueda
/textobúsqueda hacia adelante?textobúsqueda hacia atrásnsiguiente coincidenciaNanterior
- Navegación estructural
%salta entre pares() {} []gginicio del archivoGfinal del archivo:{numero}ir a línea concreta
- Marcas
m{letra}crea marca'{letra}vuelve a la línea marcada
Macros
- Qué son
- Grabaciones de acciones repetibles
- Automatización sin scripting
- Uso básico
q{registro}empezar a grabar- acciones normales
qterminar@{registro}ejecutar
- Casos de uso
- Limpieza de datos
- Refactorizaciones simples
- Edición repetitiva en múltiples líneas
Buffers, ventanas y pestañas
- Buffers
- Archivos abiertos en memoria
- No dependen de ventanas visibles
- Ventanas
- División de pantalla
:splithorizontal:vsplitvertical
- Pestañas
- Colecciones de ventanas
- Útiles para contextos separados
- Flujo recomendado
- Buffers para archivos
- Ventanas para trabajar en paralelo
- Pestañas para tareas distintas
Integración con terminal y sistema
- Terminal embebido
:terminal- Ideal para Git, scripts y comandos rápidos
- Portapapeles del sistema
- Registro
+ - Copiar:
"+y - Pegar:
"+p
- Registro
- Uso remoto
- Vim/Neovim como editor estándar en servidores
- Edición directa vía SSH
Configuración moderna con Lua
- Evolución desde Vimscript
- Ventajas de Lua
- Más legible
- Mejor rendimiento
- Integración nativa en Neovim
- Conceptos clave
init.luacomo punto de entrada- Configuración modular por archivos
- Plugins declarativos
Lazy.nvim como gestor de plugins
- Carga perezosa
- Plugins solo cuando se necesitan
- Beneficios
- Arranque rápido
- Menos consumo de recursos
- Enfoque
- Plugins como módulos funcionales
- Configuración separada del core
Treesitter
- Qué es
- Parser sintáctico incremental
- Qué aporta
- Highlighting preciso
- Navegación por estructura
- Base para refactors y textobjects avanzados
- Impacto
- Vim pasa de editor de texto a editor estructural
LSP en profundidad
- Capacidades
- Autocompletado contextual
- Diagnósticos en tiempo real
- Formateo
- Acciones de código
- Flujo típico
- Neovim ↔ LSP Server ↔ Lenguaje
- Ventaja clave
- Independencia del editor
- Configuración reutilizable entre proyectos
Debugging en Neovim
- DAP (Debug Adapter Protocol)
- Casos de uso
- Breakpoints
- Step-by-step
- Inspección de variables
- Integración
- Debug sin salir del editor
- Flujo cercano a IDEs completos
Git en Vim
- Integración nativa y plugins
- Funcionalidades habituales
- Diff de archivos
- Blame por línea
- Staging parcial
- Filosofía
- Git como parte del flujo de edición
- Menos cambio de contexto
Rendimiento y ergonomía
- Motivos de eficiencia
- Manos siempre en teclado
- Menos movimientos cognitivos
- Ergonomía
- Reducción de fatiga
- Atajos consistentes en cualquier entorno
- A largo plazo
- Curva de aprendizaje amortizada
- Productividad acumulativa
Filosofía de aprendizaje continuo
- Aprender Vim es progresivo
- No memorizar todo desde el inicio
- Cada nuevo concepto desbloquea otros
- El editor se adapta al usuario, no al revés
Relación con otros editores
- Vim no compite, complementa
- Puede convivir con:
- IDEs
- Editores gráficos
- Ventaja diferencial
- Ubicuidad
- Consistencia
- Control total del entorno
Recursos actualizados de Vim y Neovim (2025-2026)
Estos recursos están actualizados y útiles para aprender, configurar y extender Vim/Neovim en 2025-2026.
Guías prácticas completas
- Neovim IDE en Linux
Guía paso a paso para convertir Neovim en un entorno tipo IDE con configuración, plugins y LSP.
Neovim IDE en Linux - Transform Your Neovim into an IDE (guía en inglés)
Configura Neovim desde cero con Lua, keymaps, LSP y gestor de paquetes. Actualizada con cambios de 2025.
Transform Your Neovim into an IDE - Guía de configuración de Neovim (en español)
Explica cómo estructurar la configuración en Lua o VimScript y modularizarla por archivos.
Guía de configuración de Neovim
Configuraciones y snippets útiles
- Neovim LSP Setup Made Easy (GitHub Gist)
Configuración rápida de LSP conmason,mason-lspconfigy servidores básicos en Neovim 0.12 (2025).
Neovim LSP Setup Made Easy - Configuración simple para Neovim (Devlog)
Ejemplo de configuración minimalista para empezar rápido y ampliar. Actualizada a septiembre de 2025.
Simple Neovim Config
Plugins y ecosistema moderno
- NeovimCraft
Catálogo de plugins actualizados al final de 2025, clasificados por categoría (LSP, utilidad, UI, debugging, markdown, note-taking, colorschemes, etc.).
NeovimCraft
Plugins y proyectos destacados en 2025
- obsidian-nvim/obsidian.nvim
Integración Obsidian ↔ Neovim para gestión de notas.
obsidian.nvim - saghen/blink.cmp
Plugin moderno y rápido para autocompletado.
blink.cmp - karb94/neoscroll.nvim
Scrolling suave y animado en Neovim.
neoscroll.nvim - b0o/SchemaStore.nvim
Esquemas JSON/YAML para LSP y validación de configuraciones.
SchemaStore.nvim - ayamir/nvimdots
Configuración avanzada y bien documentada de Neovim.
nvimdots - sakhnik/nvim-gdb
Integración de depuración con GDB/LLDB dentro de Neovim.
nvim-gdb
LSP y flujo de desarrollo
- Configuración de LSP en Neovim 0.11
Explicación del LSP nativo y recomendaciones de plugins comomason,nvim-cmpytelescope.
Configuring Neovim 0.11 LSP - Native LSP y debate comunitario 2025
Discusión sobre el uso de LSP nativo frente a configuraciones antiguas.
Native LSP discussion
Cursos, tutoriales y formación
- Curso en Udemy: Curso de Vim y Neovim (2025)
Curso con prácticas, instalación, configuración, LSP y plugins.
Curso de Vim y Neovim - Curso gratuito: Neovim desde cero
Curso online con ejercicios breves y certificado.
Neovim desde cero
Noticias y tendencias
- This Week in Neovim (#80)
Newsletter con plugins populares y enlaces a conferencias recientes.
This Week in Neovim
Comunidad y discusiones relevantes
- Crear tu propio plugin para Neovim
Discusión y guía para desarrollar plugins en Lua.
Crear plugins en Neovim - Listas de plugins útiles y flujos de trabajo
Usuarios comparten configuraciones y recomendaciones actuales.
Plugins y workflows Neovim
Documentación oficial
- Documentación integrada accesible desde el editor mediante
:help - Referencia principal y siempre actualizada para comandos, API y opciones de Vim y Neovim
¿Te gusta este contenido? Suscríbete vía RSS