wandres.dev
SENSEI · El Dojo: práctica y maestría

Vim-golf y drills de eficiencia

El deporte de resolver una edición en el menor número de teclas. Una colección de drills con solución comentada para afilar tus reflejos hasta el filo.

⏱ 15 min

“Vim-golf” es un juego: dado un texto inicial y uno final, ¿en cuántas teclas puedes llegar? Menos teclas = más elegancia. Practicarlo entrena tu ojo para ver la edición más corta, que casi siempre es también la más rápida.

🎯 Al terminar esta lección sabrás
  • Entender la mentalidad del vim-golf: menos teclas, más intención.
  • Resolver drills de cada categoría con la solución óptima.
  • Fijar los patrones que más se repiten en el trabajo real.

Cómo jugar

Ante una edición, no la hagas “a lo bruto”. Piensa: ¿cuál es el verbo + objeto que la resuelve de un golpe? Intenta cada drill tú primero, y solo entonces despliega la solución. Cuenta tus teclas y compáralas.

💡
Menos teclas casi siempre = más rápido

El vim-golf no es solo un juego de eficiencia extrema: entrena el reflejo de buscar el objeto de texto o el movimiento exacto en vez de improvisar a base de hjkl y x. Ese reflejo es justo lo que te hace fluido en el trabajo real.

Drills — navegación y objetos

⛳ DRILL Reemplaza el texto dentro de un string por otro.
Ver solución
ci"

Cursor en cualquier parte del string. ci" borra el interior y entra en Insertar. Da igual dónde estés entre las comillas: el objeto de texto lo resuelve.

⛳ DRILL Borra una función entera, cuerpo incluido, esté donde esté el cursor dentro de ella.
Ver solución
daf

Con los objetos de Treesitter (lección 2.3), daf = delete a function. Sin seleccionar nada a mano.

⛳ DRILL Borra desde el cursor hasta el siguiente paréntesis, sin incluirlo.
Ver solución
dt(

d (verbo) + t( (moción “till”). Con df( incluirías el paréntesis.

⛳ DRILL Pon en MAYÚSCULAS la palabra bajo el cursor.
Ver solución
gUiw

gU (verbo: a mayúsculas) + iw (objeto: palabra interior).

Drills — líneas y estructura

⛳ DRILL Intercambia la línea actual con la de abajo.
Ver solución
ddp

dd corta la línea; p la pega debajo de la siguiente. Resultado: intercambiadas.

⛳ DRILL Duplica la línea actual.
Ver solución
yyp

yy copia la línea; p la pega debajo. Dos teclas efectivas.

⛳ DRILL Comenta las próximas 4 líneas.
Ver solución
gc4j

gc (comentar, nativo en 0.11) + 4j (moción). Alternativa visual: V4j y luego gc.

⛳ DRILL Rodea una palabra con comillas dobles.
Ver solución
saiw"

Con mini.surround (lección 2.3): gsa (add surround) + iw (palabra) + ". Para quitarlas: gsd".

Drills — repetición y potencia

⛳ DRILL Añade un punto y coma al final de 10 líneas seguidas.
Ver solución
qa A; Esc j q → 9@a

Graba una macro: qa, A;, Esc, j, q. Luego reprodúcela en las 9 restantes con 9@a. Alternativa: selección visual + :normal A;.

⛳ DRILL Cambia una variable por otra en toda la función, revisando cada aparición.
Ver solución
* cgn nuevo Esc → . / n

* busca la palabra bajo el cursor. cgn cambia la siguiente coincidencia. En cada una: . repite el cambio, n la salta. Reemplazo con control total, sin comandos.

⛳ DRILL Sangra un bloque entre llaves un nivel a la derecha.
Ver solución
>i{

> (verbo: indentar) + i{ (objeto: dentro de las llaves). Un golpe para todo el bloque.

El objetivo real de los drills

No es que cuentes teclas el resto de tu vida. Es que, tras practicar estos patrones, tu mano elija sola ci" en vez de borrar carácter a carácter, o daf en vez de seleccionar líneas con el ratón. Cuando la solución óptima es tu primer instinto, has interiorizado el idioma. Ese es el filo del nivel dios.

⚔️ Tu ronda de golf
  1. Resuelve cada drill sin mirar la solución; luego compárala.
  2. Repite tres veces los que no te salieron a la primera.
  3. Visita vimgolf.com y prueba un reto real de la comunidad.
  4. La próxima vez que edites “a lo bruto”, para y busca el golpe corto.