Mientras el mundo persigue el próximo IDE con inteligencia artificial integrada, hay un editor que lleva más de 40 años esperándote en cada terminal de macOS. Sin instalación. Sin configuración. Sin excusas.

Se llama vi (o más precisamente, vim — su evolución).

Abre tu Terminal ahora mismo y escribe:

vi

Ya estás dentro. Y probablemente no sabes cómo salir. Tranquilo, eso le pasó a todos alguna vez.


La filosofía en 10 Segundos

Vi funciona con modos. Esa es toda la curva de aprendizaje. Domina los modos y dominarás vi.

ModoPara qué sirveCómo entrar
NormalNavegar y ejecutar comandosPresiona Esc
InserciónEscribir textoPresiona i
VisualSeleccionar bloques de textoPresiona v
ComandoGuardar, salir, buscarEscribe :

Regla de oro: cuando te pierdas, presiona Esc dos veces. Siempre volverás a terreno seguro.


macOS 2026: ¿Qué versión tengo?

macOS incluye vim por defecto. Verifica tu versión:

vim --version | head -1

Si actualizaste a macOS Sequoia o posterior, probablemente tienes Vim 9.x. Si necesitas la última versión:

brew install vim

Homebrew instalará la versión más reciente con soporte completo de scripting en Lua y Python3.


7 Comandos para sobrevivir (y lucirte)

1. Abrir, guardar y salir

vi archivo.txt        # Abrir o crear archivo

Dentro de vi:

:w                    # Guardar
:q                    # Salir
:wq                   # Guardar y salir
:q!                   # Salir SIN guardar (el comando de emergencia)

2. Moverse como un profesional

Olvida las flechas del teclado. Los veteranos usan:

h ← │ j ↓ │ k ↑ │ l →

Pero el verdadero poder está aquí:

w         → Saltar al inicio de la siguiente palabra
b         → Retroceder una palabra
0         → Inicio de línea
$         → Final de línea
gg        → Inicio del archivo
G         → Final del archivo
42G       → Ir a la línea 42

3. Editar con precisión quirúrgica

i         → Insertar antes del cursor
a         → Insertar después del cursor
o         → Crear nueva línea debajo e insertar
dd        → Eliminar línea completa
yy        → Copiar línea
p         → Pegar
u         → Deshacer (¡tu mejor amigo!)
Ctrl + r  → Rehacer

4. Buscar y reemplazar

/palabra              # Buscar hacia adelante
?palabra              # Buscar hacia atrás
n                     # Siguiente coincidencia
N                     # Coincidencia anterior

Reemplazo masivo (todas las ocurrencias en el archivo):

:%s/viejo/nuevo/g

5. Trabajar con múltiples archivos

vi archivo1.txt archivo2.txt

Dentro de vi:

:n                    # Siguiente archivo
:prev                 # Archivo anterior
:split otro.txt       # Dividir pantalla horizontal
:vsplit otro.txt      # Dividir pantalla vertical
Ctrl+w + w            # Cambiar entre paneles

6. Selección visual

Presiona v para entrar en modo visual, mueve el cursor para seleccionar, y luego:

d         → Cortar selección
y         → Copiar selección
>         → Indentar
<         → Des-indentar

Para seleccionar bloques rectangulares (ideal para columnas): Ctrl+v.

7. Macros: automatizar lo repetitivo

Imagina que necesitas añadir un prefijo a 50 líneas:

qa            # Empieza a grabar en registro "a"
I             # Insertar al inicio de la línea
// TODO:      # Escribe el prefijo
Esc           # Vuelve a modo normal
j             # Baja una línea
q             # Deja de grabar
49@a          # Repite la macro 49 veces

Acabas de ahorrar 10 minutos con 6 teclas.


Tu archivo de configuración

Crea o edita ~/.vimrc para personalizar vim. Un setup mínimo pero poderoso:

" ~/.vimrc — configuración esencial 2026
syntax on                    " Colores de sintaxis
set number                   " Números de línea
set relativenumber           " Números relativos (navegación rápida)
set tabstop=4                " Tabs de 4 espacios
set shiftwidth=4             " Indentación de 4 espacios
set expandtab                " Convierte tabs en espacios
set ignorecase               " Búsqueda sin importar mayúsculas
set smartcase                " ...excepto si escribes mayúsculas
set hlsearch                 " Resalta búsquedas
set incsearch                " Búsqueda incremental
set clipboard=unnamed        " Comparte portapapeles con macOS
set mouse=a                  " Soporte de ratón (sí, en vi)

Para aplicar los cambios sin reiniciar:

:source ~/.vimrc

¿Por qué VI en 2026?

No se trata de nostalgia. Se trata de disponibilidad universal.

Cuando estés conectado por SSH a un servidor remoto a las 2 AM arreglando un archivo de configuración, no tendrás VS Code. No tendrás Cursor. No tendrás conexión a internet para descargar nada. Pero vi estará ahí, como siempre.

Algunos argumentos finales para los escépticos:

  • Está en cada sistema Unix, Linux y macOS del planeta.
  • Arranca en milisegundos, incluso con archivos de millones de líneas.
  • Tus manos nunca abandonan el teclado, lo que eventualmente te hace más rápido.
  • Es infinitamente extensible con plugins si quieres ir más lejos.

Hoja de referencia rápida

┌──────────────────────────────────────────────┐
│  SOBREVIVIR                                  │
│  Esc Esc      → Volver a modo normal         │
│  :q!          → Salir sin guardar            │
│  :wq          → Guardar y salir              │
│                                              │
│  MOVERSE                                     │
│  gg / G       → Inicio / final del archivo   │
│  w / b        → Palabra siguiente / anterior │
│  0 / $        → Inicio / final de línea      │
│                                              │
│  EDITAR                                      │
│  i / a        → Insertar antes / después     │
│  dd / yy / p  → Cortar / copiar / pegar      │
│  u / Ctrl+r   → Deshacer / rehacer           │
│                                              │
│  BUSCAR                                      │
│  /texto       → Buscar                       │
│  :%s/a/b/g    → Reemplazar todo              │
└──────────────────────────────────────────────┘
20260220 0823 image

Vi no es solo un editor. Es un rito de paso. Aprende los básicos, practica 15 minutos al día durante una semana, y nunca más te sentirás indefenso frente a una terminal.

Shares: