The One Eyed Fighting Kirby es básicamente un comando de sustitución de Vim que utiliza grupos de captura para transformar texto. El nombre proviene de la forma en que el grupo de captura regex se parece a un Kirby de un ojo (ya sabes, la bola rosada de los juegos de Nintendo). Es un nombre divertido para una técnica poderosa de grupos de captura regex que puede ahorrarte mucho tiempo al editar texto.

Aquí está la sintaxis básica:

:s/\(.*\);/console.log(\1)

¿Cómo Funciona?

Vamos a desglosarlo:

  • :s inicia el comando de sustitución
  • \(.*\) es nuestro “One Eyed Fighting Kirby” - captura todo lo que está entre paréntesis
  • El \1 en la parte de reemplazo devuelve lo que fue capturado

Ejemplo del Mundo Real

Digamos que tienes algo de código JavaScript como este:

[1, 3, 4];
[3, 4];
[6, 7];

Y quieres agregar console.log() a cada línea. En lugar de hacerlo manualmente, puedes usar el Kirby de Un Ojo Luchador:

:%s/\(.*\);/console.log(\1);

Esto transformará tu código en:

console.log([1, 3, 4]);
console.log([3, 4]);
console.log([6, 7]);

Esto se puede usar para agregar algo solo a una sección de texto.

const a = 1;
const b = 2;
const c = 3;
:%s/const \(.*\) = \(.*\);/const \1 = "\2"
const a = "1";
const b = "2";
const c = "3";