Report inadequate content

Grabar y ejecutar macros en Vim

{
}

Quizá VIM sea un editor para freaks, no lo vamos a discutir, pero la verdad es que bien conocido nos puede ahorrar mucho tiempo en hacer las tareas diarias. En este post, explicamos rápidamente como grabar una macro y reproducirla N veces.

Si por ejemplo queremos eliminar de un listado de ficheros de un proyecto las imágenes, podemos hacer algo como:

  • q (Con esto entramos en modo de grabar)
  • Una letra cualquiera, pongamos una a
  • Aparecerá "grabando"
  • /\.jpg\|\.gif  (estamos buscando la palabra .jpg o .gif)
  • Enter
  • dd (borramos la línea)
  • Esc
  • q (fin modo grabación)

Ahora tenemos guardado en la letra 'a' la macro. La podemos ejecutar 1 vez tecleando:

  • @a

O mil veces:

  • 1000@a

Sólo hay que hacer memória :)

Inspirado en la fantástica presentación de Manuel Aguilar sobre VIM en los workshops PHP 08 de Barcelona:

http://phpbarcelona.org/files/phpworkshop08/vim/vim_workshop.pdf

{
}
{
}

Comments Grabar y ejecutar macros en Vim

Yeehaw! Muchas gracias por la información. Era justo lo que estaba buscando. Llevo viendo grabar macros en emacs un montón de tiempo y me preguntaba cómo podría hacer lo mismo en vim.
srdgato srdgato 20/10/2010 at 19:47
[...]ning_a_pattern http://vim.wikia.com/wiki/Highlight_long_lines http://www.harecoded.com/grabar-ejecutar-macros-vim-125861 (Macros) GD Star Ratingloading...Tips Vim/GVim, 7.7 out of 10 based on 3 rati[...]
cvre mucha sgracia s me sirve de mucho xq soy nestudiante de ing de sistems y estaba buscando una taerea de sitemas opertivs ok 


kent kent 20/06/2012 at 22:55
Macho, muy bueno tu articulo, pero dejar la pestaña abierta en este post me come medio procesador (un i7) muy bueno tu blog, pero deberias revisar los javascripts. Abrazo
angvp angvp 23/08/2013 at 16:56
Gracias, andaba buscando este tip
Marcos Marcos 13/03/2017 at 01:36

Leave your comment Grabar y ejecutar macros en Vim

Log in to Obolog, or create your free blog if you are not registered yet.

User avatar Your name