Usar VIM como comando de shell

( desarrollo / vim )

Vim es un estupendo editor y mi preferido tanto en consola como en entorno gráfico, pero lo que quiero mostrar aquí es como usarlo como un comando de shell o lo que llaman los ingleses "oneliner" (de una sola línea). Voy a poner algunos ejemplos sencillos que se podrían hacer de mil formas más simples pero es para ver claramente este uso del Vim.

Por ejemplo para cambiar todas las letras "a" por la letra "b" que se encuentre entre las líneas 5 y 10 podemos hacer esto:

vim -c "5,10s/a/b/g | wq" fichero

NOTA: si omitimos el final "|wq" lo que hará es hacer la sustitución y seguir dentro del editor sin grabar ni salir, con lo cual puede ser también una forma de continuar editando el fichero.

Es un ejemplo sencillo y tonto pero se puede ver que Vim también puede ser un onliner, del mismo modo que Perl, Sed, Awk entre otros.

Modificado el 22 Febrero, 2015
Creado el 9 octubre, 2012
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.