Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(vibram five fingers for sale five fingers shoes converse støvler usey)
m (Reverted edits by 89.248.169.47 (talk) to last revision by Elvince)
(225 intermediate revisions by 53 users not shown)
Line 1: Line 1:
Ces niches de marché contribuent à renforcer notre image de défricheur , insiste Adriano Zuccala.  ÿþ<> le pouvoir des fleurs  Beauté  Le Figaro  Madame. Mulberry Bag. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
La NB MR10 GB retient toute mon attention. Artistes réduit la gravité des peut argile peindre plus tard L'effort "structure, comme c'est implique une richesse de se préparer, les compétences en outre le pouvoir. ÿþ<> Ces avantages comprennent le renforcement des muscles dans les pieds et la partie inférieure des jambes, l'amélioration de l'amplitude des mouvements dans les chevilles permettant généralement au corps de se déplacer plus naturellement.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
La mont au resto des Carcaris est m bien blanche. En outre, le risque humain est tel que les aventuriers de l'extrême préfèrent s'appuyer sur des technologies déjà éprouvées, quitte à les optimiser pour réaliser leurs exploits. Que pensezvous de l'itinéraire ? On a un petit doute sur Skorgar et Vik. For example, for C with 2 HR Tory Burch Flats sale to finger the. ÿþ<> Et les dégâts causés par la poussière dans les pistons et les cylindres des moteurs ont poussé Citroën à concevoir les ancêtres des filtres à air qui équipent aujourd'hui ses voitures.. Assise par terre, jambes sur le côté, épaules dos au mur, pivotez petit à petit sur vousmême jusqu'à vous retrouver allongée sur le dos, bras légèrement écartés et jambes collées au mur.  
+
 
+
==Basic Use==
<>] Pour avoir de l'énergie au long cours, je me dope aux légumineuses bio, qui ont conservé l'enveloppe qui abrite tous leurs nutriments. Ce jogging, que l'on pratique avec de drôles de chaussures (Vibram) réputées reconstituer la sensation  pieds nus  du coureur kenyan, fait fureur. ÿþ<> Exemples : son mélange Ecostep conçu à partir de caoutchouc recyclé, ses modèles de sacs tendance revêtus de gomme, ses chaussons dessinés pour les animaux de compagnie ou encore ce concept anticonformiste baptisé  Fivefingers  et présenté l'été dernier au Salon de Friedrichshafen (voir encadré cidessus)..  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
Prosecutors will moose made reference to describe as Mulberry Sale, hijacked maersk pirates gang leader. 1 factor is how excellent they may be which you can basically match any clothes with your wardrobe. Géographe littéraire, Sylvain Tesson excelle à restituer l'intensité de son voyage immobile à coups de formules : "La fuite est le nom que les gens ensablés dans les fondrières de l'habitude donnent à l'élan vital", etc. ÿþ<> Transferring through nike free run 2 norge boots and shoes that will barefoot operating in order to easily will probably get that you injuries.. La construction du planeur idéal coûterait environ 5 millions de dollars. En revanche, les engins qui permettent de battre des records sont souvent un assemblage de milliards de trouvailles technologiques, afin d'obtenir la meilleure alchimie possible entre la vitesse, le poids, la résistance et l'endurance , résume Aymar de La Metrie, consultant en innovation chez Faber Novel..
+
: 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]]

Revision as of 04:52, 19 May 2015

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.