Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(5 finger vibram five finger shoes converse sko lжder brun rxwb)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(122 intermediate revisions by 49 users not shown)
Line 1: Line 1:
Michael et moi on n on veut finir tout les deux ! On est dans l ! Puis la voie de la raison nous ram la r On va profiter d belle tabl avec les amis et la famille de la premi dame du TTT, qui nous accueil comme des rois..  яю<> Derni couche: le coupevent en goretex ou windstop (respirant et d rajouter dans le sac dos, une cape de pluie, indispensable en cas de d voire un b parapluie. Oui mais voilГ  la semelle est en Vibram, celГ  ne vous dit peut ГЄtre rien mais pour moi qui suis savoyard, qui est lu les bouquins d dans ma jeunesse, Vibram c la Rolls des semelles d RГ©putation confirmГ©e pour les five fingers, on sent les cailloux mais ce n pas dГ©sagrГ©able, au contraire.. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
I am on the one hand this look that the beloved vibram, on the other hand writes this article. J'lui dis aussi des mots que tu n'entendras ni ne liras pas parce qu'ils ne sont qu' nous. яю<> Lorsqu'on regarde bien <aux>EtatsUnis], les annГ©es 20, 70, et aprГЁs les attaques contre le World Trade Center, sont des pГ©riodes de boom pour le running.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
яюh
+
 
Protest said that since Taobao modify the search order rules for highprofile since the sudden drop in flow of small sellers, significant reduction in orders. A variety of may wear water resistant socks throughout cold weather. As we all known, girls all love Christian Louboutin shoes, louboutin sale not only because this brand is famous, but also all the shoes are beautiful and unique, christian louboutin sandals especially the sexy signature red sole, when girls are wearing it, christian louboutin wedges can show their dignaty and elegant, such a pair of perfect christian louboutin mens shoes, who can ignore it! When i began to wear high heeled shoes, i love christian louboutin pumps, it can modificate my body line, so i love it very much. Avant d'exister sous la forme d'une construction de cordonnerie, la chaussure Г©tait sandale et se posait en discriminant social. яю<> Timberland boots Roll In 1973 the brand was the first pair Timberland boots rain, history Timberland was born and laid the foundation stone. Pendant la guerre, avec le rationnement, on se dГ©brouillait pour trouver quelque chose en cours de route.  
+
 
+
==Basic Use==
All these benefits are using this sole. Au total, le fabricant milanais en compte dГ©sormais prГЁs de 350, exploitant un millier de marques au moins.. яю<> No matter how you stay in shape, the rugged, minimalist KomodoSport is a great fit.  
+
 
яюh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
We became scientists and tested concoctions of milk, orange juice, and mouthwash. Chaufferettes, utiles pour toutes les activit hivernales, savon de Marseille pour les petites lessives en cours de rando ( linge toujours utiles), lacets de rechange. Demi tour vГ©hiculГ© et les semelles Vibram frottent le bitume, contradictoire mais obligatoireяю<> C'est qu'il est tout Г  sa vie intГ©rieure, tiraillГ© entre hГ©donisme dionysiaque, panthГ©isme et doute mГ©taphysique : "Qui suisje ? s'interrogetil. Il aura, ce we, sillonnГ© les allentours de Cauteret Г  la recherche de barbeuc, truite, randonnГ©e, lac d'Estom, eaux thermales, pistes de ski . forcement rien ne mord..
+
: Start defining a macro.
 +
; {{Keys|F4}}, or {{Keys|C-x )}}
 +
: Stop defining a macro.
 +
; {{Keys|F4}}, or {{Keys|C-x e}}
 +
: Execute a macro
 +
; {{Keys|C-u 37 C-x e}} or {{Keys|C-u 37 F4}}
 +
: Execute a macro multiple times, using [[prefix argument]]
 +
; {{Keys|C-u 0 C-x e}}
 +
: Execute a macro until the end of the buffer
 +
 
 +
==Example usage==
 +
 
 +
Consider the standard <code>*scratch*</code> buffer:
 +
 
 +
<pre>
 +
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
 +
;; If you want to create a file, visit that file with C-x C-f,
 +
;; then enter the text in that file's own buffer.
 +
</pre>
 +
 
 +
Suppose you want to remove the first occurrence of the letter "a" on every row in that piece of text. You could write a [[regular expression]] to do the job, but let's assume you want to use a keyboard macro this time.
 +
 
 +
# Make sure [[point]] is at the start of the buffer.
 +
# Hit <code>C-x (</code> to start recording your macro. '''Note:''' If you hit <code>C-g</code> or if an error occurs, your keyboard macro recording will stop.
 +
# Hit <code>C-s</code> followed by <code>a</code> to find the first "a". Now, point is right after the first "a" in the text.
 +
# Hit backspace to delete that "a".
 +
 
 +
The first occurrence of "a" of the first line has been deleted. Let's move point to the beginning of the next line and then stop recording.
 +
 
 +
<ol start="5">
 +
<li>Hit <code>C-e C-f</code> to move point to the beginning of the next line.</li>
 +
<li>Hit <code>C-x )</code> to finish the recording of our macro.</li>
 +
</ol>
 +
 
 +
The macro you have just recorded performs the operation of removing the first occurrence of "a" it can find and then moving point to the next line.
 +
 
 +
<ol start="7">
 +
<li>Hit <code>C-x e</code> once to call that macro.</li>
 +
<li>Continue hitting <code>e</code> to call it several times. Hit any other key to get out of the macro repetition.</li>
 +
</ol>
 +
 
 +
== Naming and saving macros ==
 +
 
 +
You can:
 +
* give a name to the most recently defined macro (<code>C-x C-k n</code>)
 +
* bind it to a key sequence (<code>C-x C-k b</code>)
 +
* insert it in the current buffer as lisp code (<code>M-x insert-kbd-macro</code>).
 +
 
 +
{{Manual|emacs|Save-Keyboard-Macro|Save Keyboard Macro}}
 +
 
 +
 
 +
To bind a keyboard macro to a key use <code>C-x C-k b</code>.  To avoid problems caused by overriding existing bindings, the key sequences <code>C-x C-k 0</code> through <code>C-x C-k 9</code> and <code>C-x C-k A</code> through <code>C-x C-k Z</code> are reserved for your own keyboard macro bindings. You can, however, bind a keyboard macro to whatever you like.
 +
 
 +
==Variables==
 +
 
 +
Variables can be stored in lisp or in [[registers]]Here's an example using lisp:
 +
 
 +
<pre>
 +
[M-: (setq x 1)]
 +
<F3>
 +
Line number [C-u M-: x]
 +
[M-: (setq x (+ x 1))]
 +
<F4>
 +
</pre>
 +
 
 +
Now execute the macro four times with the command <code>C-x e e e e</code> and you get:
 +
 
 +
line number 1<br />
 +
line number 2<br />
 +
line number 3<br />
 +
line number 4
 +
 
 +
 
 +
= See also =
 +
 
 +
* [https://github.com/Silex/elmacro elmacro], to show keyboard macros as emacs-lisp
 +
* [https://github.com/abo-abo/centimacro centimacro] to (temporarily) bind any number of macros to any global shortcuts.
 +
* You can use keyboard macros à la vim in [[evil]].
 +
 
 +
 
 +
[[Category:Intermediate]]
 +
[[Category:Editing]]

Latest revision as of 15:27, 4 July 2016

Basic Keyboard Macro (`(info "(emacs) Basic Keyboard Macro")')

Keyboard macros can be used to automate or repeat tedious editing tasks in Emacs.


Basic Use

[F3], or [C-x (]
Start defining a macro.
[F4], or [C-x )]
Stop defining a macro.
[F4], or [C-x e]
Execute a macro
[C-u 37 C-x e] or [C-u 37 F4]
Execute a macro multiple times, using prefix argument
[C-u 0 C-x e]
Execute a macro until the end of the buffer

Example usage

Consider the standard *scratch* buffer:

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

Suppose you want to remove the first occurrence of the letter "a" on every row in that piece of text. You could write a regular expression to do the job, but let's assume you want to use a keyboard macro this time.

  1. Make sure point is at the start of the buffer.
  2. Hit C-x ( to start recording your macro. Note: If you hit C-g or if an error occurs, your keyboard macro recording will stop.
  3. Hit C-s followed by a to find the first "a". Now, point is right after the first "a" in the text.
  4. Hit backspace to delete that "a".

The first occurrence of "a" of the first line has been deleted. Let's move point to the beginning of the next line and then stop recording.

  1. Hit C-e C-f to move point to the beginning of the next line.
  2. Hit C-x ) to finish the recording of our macro.

The macro you have just recorded performs the operation of removing the first occurrence of "a" it can find and then moving point to the next line.

  1. Hit C-x e once to call that macro.
  2. Continue hitting e to call it several times. Hit any other key to get out of the macro repetition.

Naming and saving macros

You can:

  • give a name to the most recently defined macro (C-x C-k n)
  • bind it to a key sequence (C-x C-k b)
  • insert it in the current buffer as lisp code (M-x insert-kbd-macro).

Save Keyboard Macro (`(info "(emacs) Save Keyboard Macro")')


To bind a keyboard macro to a key use C-x C-k b. To avoid problems caused by overriding existing bindings, the key sequences C-x C-k 0 through C-x C-k 9 and C-x C-k A through C-x C-k Z are reserved for your own keyboard macro bindings. You can, however, bind a keyboard macro to whatever you like.

Variables

Variables can be stored in lisp or in registers. Here's an example using lisp:

[M-: (setq x 1)]
<F3>
Line number [C-u M-: x]
[M-: (setq x (+ x 1))]
<F4>

Now execute the macro four times with the command C-x e e e e and you get:

line number 1
line number 2
line number 3
line number 4


See also

  • elmacro, to show keyboard macros as emacs-lisp
  • centimacro to (temporarily) bind any number of macros to any global shortcuts.
  • You can use keyboard macros à la vim in evil.