lunes, 9 de diciembre de 2013

EMACS : MACROS de TECLADO


Una macro de teclado para el editor emacs es una combinación de comandos que agrupamos creando así un nuevo comando.

Es muy útil para repetir una secuencia de comandos varias veces.


Definimos una nueva macro


Para comenzar a definir una nueva macro pulsamos la tecla <F3> que equivale al comando: M-x kmacro-start-macro-or-insert-counter

Aparecerá en el minibuffer la frase: "Defining kbd macro..."


Por ejemplo vamos a crear una macro que escribe "hola" al final de la línea en la que estamos:

<F3> C-e hola <F4>

Con esa secuencia de teclas indicamos que estamos guardando una macro. Vamos al final de la línea.
Escribimos la palabra "hola" y pulsamos <F4> indicando que la macro ha finalizado.

En el minibuffer aparece "Keyboard macro defined".


Ejecutar una macro.


Ahora si queremos volver a ejecutar la macro simplemente pulsamos <F4> otra vez.


Podemos repetir la macro tantas veces como queramos usando un prefijo numérico:

C-u 3 <f4> ; Repite la macro 3 veces.

C-u 0 <f4> ; Repite la macro de forma indefinida hasta que pulsamos C-g.


El anillo de macros (Macro ring)


Cada macro que creamos se guarda en el anillo de macros.


Todos los comandos relativos a las macros empiezan por los prefijos C-x C-k



C-x C-k C-k   Ejecuta la última macro guardada (la situada en el tope del anillo)

C-x C-k C-n   selecciona la macro siguiente en el anillo (la definida previamente).

C-x C-k C-p   selecciona la macro previa en el anillo (la definida después).

En los dos comandos anteriores podemos ver la macro que seleccionamos en el minibuffer.


Al ejecutar varios comandos del anillo de macros encadenados no necesitamos teclear continuamente el prefijo:


E.j:

C-x C-k C-k C-k C-n C-k ;; ejecuta la macro actual dos veces, selecciona la macro definida anteriormente y la ejecuta una vez.


Asociar la macro a una combinación de teclas


C-x C-k b   mapea de forma interactiva una combinación de teclas a la macro

Por ejemplo podemos asociar la macro a la tecla <F9> y cada vez que la pulsemos se ejecutará la macro.


Asociar la macro a un nombre de comando


C-x C-k n asocia la macro a un nombre de forma interactiva.

Por ejemplo, si la asociamos al nombre "foo", cada vez que ejecutemos M-x foo, se ejecutará la macro.


REFERENCIA


Keyboard-Macros GNU Emacs manual


Puede que también le interese


Instalar EMACS desde el Código Fuente

No hay comentarios:

Publicar un comentario