Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(vibram fivefingers uk 5 finger vibram converse sko læder brun tjwq)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(321 intermediate revisions by 66 users not shown)
Line 1: Line 1:
Le comédien Peter Sarsgaard ("Garden State", "Une éducation") s'était lancé dans la rédaction d'un scénario, mais McDougall a confié à Relaxnews que le projet lui était revenu et que le tournage du film pourrait débuter cet été..  ÿþ<> The unique biomechanical illnesses this can be found inside these kind of predicaments nike free run 2 herre position the barefoot athlete at risk of additionally traumas. planche à voile. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
Quel bonheur! Même le poids du sac sur le dos devient un plaisir." Privé de randonnée dominicale depuis qu'il a dû quitter ses Pyrénées natales pour la grisaille parisienne, Romain ne se résout pas à chausser ses Pataugas pour arpenter les forêts franciliennes: "C'est trop plat, trop fréquenté, trop civilisé. Les IRM ont noté les oedèmes au niveau de la moelle épinière, qui ne sont autre qu'une quantité excessive de liquide dans la moelle, un indicateur de blessure. ÿþ<> I got to thinking. 
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
In addition, you can put several newspaper or products into your vibram five finger shoes, of course, if you put these items to your toes with the vibram five finger shoes, the impact will probably be better. Direction Estom, par un chemin longeant le Lutour calme, tortueux puis s'elevant au pic de ses cascades, sorties tout droit du lac. Der Fersenstabilisator ermglicht eine harmonische Einleitung der Abrollbewegung und der 7/8 TPU Stabilizer bietet eine optimale Torsions und Flexionsstabilitt. en tout cas, nous sommes partis du 16juin au 05 juillet de cette année et nous avons eu froid pdt une grande partie du voyage. ÿþ<> Pas grave. Je r arrive encore acc (une concurrente se rapproche dangereusement de moi, et je crois comprendre que je suis 3 f alors pourquoi pas mettre un peu de turbo)..
+
 
+
==Basic Use==
This gucci belts way, you can spend more time with the sales person and ask questions for the shoe types, features, brands, or just to compare prices. Cette chaussure est comme une deuxi couche de la peau humaine, ce qui rend l'utilisateur lorsque la force de r dans les centres de pied au lieu de l'atterrissage concentr dans le talon, en aidant maintenir l' Soft, portative l afin que vous puissiez profiter de ce sentiment aux pieds nus tout en prot vos pieds. ÿþ<> réservée à quelques milliers de gros mollets en mal de cimes, emballe les Français.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
Pire que des enclumes!. :A chaque fois qu'une crise sociopolitique se produit, on note que la course gagne en popularité, et je ne pense pas que ce soit parce que c'est un moyen de se distraire à la portée de tous. In fact, they wear more like a sneaker than a hiking shoe, and run true to sizeÿþ<> well I keep looking at clothing and thinking yay I could fit into more. Il y a là un discours initiatique qui transcende les religions. Livre d'orArchivesContactsSouscrireA proposFivefingershoesale,Inc.
+
: 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.