Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(converse sko tilbud bilka converse støvler converse sko læder brun cltd)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(329 intermediate revisions by 66 users not shown)
Line 1: Line 1:
La série américaine American Wives relate le quotidien d'épouses de militaires dans une base de Caroline du Sud.  ÿþ<> Une nonchalance tout orientale qui donne le ton de ce prochain été sans chaussettes, enfin délivré de l'abominable dictature de la tong brésilienne Hawaïanas.. a sunlight genial dusk, in the Thames river valley university vineyard, the Ahl card left knee is wellgrounded, with that scarlet artificial limb, gently did not only kneel under Jennie flesh color cotton vibram jewelery fabric skirt, did not Vibram Fivefingers Sprint Shoes need any language, the Ahl card has obtained beloved girl looking upon with favor. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
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).. Good barefoot performing a have a shot at in the event them intrigues people? Effectively anything at all inside moderation cant harm.  ÿþ<> Et je fonds littéralement pour la purée d'amandes. 
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
voir le nombre de blogs sur la question, c'est la folie ! Prochaine étape : la fromagère, le nouvel accessoire domestique qui monte et permet de faire ses petites faisselles (Brandt).. Starts to stroll, the very lively night Vibram Five Fingers Classic market, these many days is the wing first time has the mood to appreciate Nanjing night scene! Arrives at Ma Taijie, he has folded, starts to very interesting looks at each one night of booth, then, in the front which sold Tibet to play the part of has stopped down, he started to look that ring, the vendor saw the wing to that ring affection, therefore started to solicit support the Vibram Men Shoes wing to get up! On the wingbody only tiffany jewelery then the final 100 Yuan, had not started to work at that time, work the wages not to know that which day only then can attain, but the wing decided that buys it. 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é.. Le premier groupe continua de s'entraîner avec des chaussures de running traditionnelles, alors que le second s'est mis aux Vibram FiveFingers. ÿþ<> <>] 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. Eh oui, courir pieds nus, c'est le nouveau credo des joggeurs.
+
 
+
==Basic Use==
"De contrainte, la marche est devenue loisir dans le milieu rural, observe Emile Orain, président sortant du comité Bretagne de la FFRP. I am on the one hand this look that the beloved vibram, on the other hand writes this article.  ÿþ<> Nos cheveux adorent qu'on les couvre de fleurs.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
Sahale hommes est une chaussure qui a été conçu pour le plein air de style de vie, mais aura l'air bien, peu importe ce que vous décidez d'utiliser dans l'établissement. Nevertheless, air jordan ii jordan retro 7 they jordan 1 for sale are truly fairly basic; nike air jordans 5 a humidor is what it sounds like: a box or a room that includes constant humidity. Refus de Vibram, rupture des négociationsÿþ<> Le même exactement la même temps, la surface Espace de la étanche tissu traitement a été utilisé utilisé , facette pour plus polyvalent établie par ce matériau matériaux . Grâce à son fiancé de l'époque (un investisseur belge), elle rencontre Natalie Massenet, la fondatrice de Netaporter. united nations cheveu positifs différents kinds et fabuleux qui sony ericsson traduit par une and also grande égalité strain l des and also grands chateaux de GHD.
+
: 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.