Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(vibram fivefingers converse sko udsalg converse sko tilbud børn avsy)
(Revert to the last reasonable edit.)
(243 intermediate revisions by 59 users not shown)
Line 1: Line 1:
Excepté le centreville de Leon, le paysage a été on ne peut plus ennuyant, mais les chemins toujours aussi faciles.  ÿþ[  Diurétiques, digestives, antioxydantes Elles permettent en outre de diminuer les apports de sel qui font gonfler. 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}}
  
Au lieu des semelles qui font la réputation planétaire de la marque auprès des amateurs de randonnées et d'alpinisme, l'italien avait choisi d'exposer un large choix de chaussons s'enfilant comme des gants, doigt de pied par doigt de pied.. Vibram FiveFingers kso skillfully use special material inside the sole,created based on human foot, with the ideal of toe shoes . ÿþ[  After soon one day of evening master wears the vibram in the hand, this master has not taken off it, such wears falls vibram jewelery asleep.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
There is any uniquely design inside the sole that generates the barefoot jogging effect. marchandises moncler outlet offre a agréables informelle l'expérience. Au point qu'on se demande comment il s'accommode de sa rue parisienne parfumée aux pots d'échappement. Younger teenagers may also vibram fivefingers speed put on such a form of product or service.. ÿþ[  Et merci pour vos acclamations, pour ne pas dire vocif quand mon nom a cit J devin que c eux !. A Merrell would make you stand out from the crowd, with good reasons!Hot women shoes come in assorted Figures, designs and colors.  
+
 
+
==Basic Use==
Penser rajouter des semelles de type Vibram pour amortir les chocs. Lorsqu'on se sent menacé, on court. ÿþ[  Mais Val est une d en trail qui fait le marathon en 3H30 !! Ph cette coureuse ! Je la laisse partir au bout d moment, et suis rassur : je n plus mal au genou (une mauvaise chute sur un caillou)..
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
En 6h25'49'', Benoit Peyvel (licencié en individuel au CO Tours Sud, déjà vainqueur l'an dernier avec Hervé Simon) et Sylvain Montagny ont remporté le circuit A, (ultra  50km  1200m Dénivelé +), réservé aux coureurs Elite. L'entraîneur au barefoot running est également très courtisé. Les farios sont là, peu farouches, noyées dans l'obscurité mais pointées par les rayons Petzliens.. ÿþ[ Pour ne rien oublier, dresser une liste en partant de la t et en descendant jusqu pieds. A l'instant où sont tapotées ces lignes, elle m'accompagne et ne peut s'empecher de participer . Are generally piste hierdoor disant à l'automne a été long ou aller rentrer à are generally fine.
+
: 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 01:20, 25 January 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.