Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(duvetica outlet moncler canada outlet parajumpers jakker pyys)
m (Reverted edits by 89.248.169.47 (talk) to last revision by Elvince)
(307 intermediate revisions by 56 users not shown)
Line 1: Line 1:
Ainsi, j'étais bon pour l'effort solitaire, je pouvais m'aventurer à nouveau sur les planches.  ÿþ<> Souk alHaraj: Ce monument exceptionnel du 14ème siècle, est un marché couvert occupé de nos jours par des matelassiers. Je savais que je ne pourrai pas passer à l'acte car le tabou de l'inceste me retenait, même si cet interdit était très relatif dans notre situation. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
Au rondpoint d'ANTIBESLESPINS (je m'en rappelerai longtemps), 2 flics me demandent de me mettre sur le bas côté. Doctissimo m tuer révèle en fait ce que sont les forums internet : un crime contre la syntaxe et l aussi bien qu réunion de solitudes modernes qui postent des commentaires comme on lance une bouteille à la mer. ÿþ<> Gérard Coudert : Ils se retrouvent financièrement avec la vente de maillots : en France, ils sont vendus 80 euros.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
Mais manifestement Monsieur Valls est de l'avis que les français du sud sont des citoyens de deuxième classe et que nous n'avons pas droit à un Code Pénal qui nous protège, et protège nos enfants, des actes de délinquance sur notre territoire.. Une nouvelle fois pieds nus et confiée au rusé franck Nivard, elle peut faire très mal à plus d'un adversaire si elle place sa bonne pointe de vitesse finale.. C'est étonnant, se dit Nevers, je ne connais pas de Ro muald dans le pays. La plupart des objets sont confectionnés à partir du cuir boucané de chevreuil, d'orignal et de caribou, technique qu'il pratique depuis 2002. ÿþ<> Petit retour en arri : ces baskets apparaissent dans le deuxi volet de la saga "Retour vers le futur". Ce qu'il faut faire: L'entraîneur de l'Equipe de France était parti sur la bonne voie en proposant une semaine de préparation à Tignes.  
+
 
+
==Basic Use==
Petitefille de Sonia, fille de Nathalie, Lola vit depuis deux ans à New York, où elle gère la communication de la marque aux tatsUnis. Et à ceux qui stockaient déjà les caisses de champagne rue de Solférino, il rappelait : J'ai dit, peutêtre un peu rapidement, qu'au 2ème tour, il faut qu'il y ait le candidat socialiste en face du candidat de Droite.  ÿþ<> Les outsiders auront les dents longues ! Quarry Bay (3), propriété de Pierre Levesque sera déferré des quatre pieds pour la première fois de sa vie.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
De plus, en ce jour, le groupe III où Qwerty et Fabrice Axe seront attendus permet aux Jean Michel Bazire ou Pierre Levesque de faire le déplacement avec de bons éléments. Depuis des décennies maintenant, ces soirées parisiennes sont devenues incontournables dans le monde des courses hippiques. Elle fut longueÿþ<> Notre objectif est de permettre aux ing nieurs et titulaires de mast re d'acqu rir la double comp tence pour devenir des dirigeants de demain, pour qu'ils int grent harmonieusement les aspects qualit , environnement, s curit , social, conomique et ressources humaines dans une logique de d veloppement durable, indiqueton dans le MS Management par la qualit au sein de Bordeaux cole de management. <>]. After seeing your article, I tried to write some of this stuff, I published here, such as Coach Outlet, Coach Outlet Canada and Coach Bags Outlet.
+
: 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.