Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(vibram five fingers vibram five fingers converse børn nypf)
(Undo revision 5435 by 198.27.74.193 (talk))
Line 1: Line 1:
Not only do these old shoes is out of date or damaged, but many people are excited about fashion, it seems to abandon the old to new.  ÿþ<> Si Picasso avait trouvé la peinture si facile, il aurait fait autre chose. 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}}
  
nous partons du 5 au 28 août avec nos 3 filles ado (13 à 18 ans), nous avons pris un "package" voiture + auberges de jeunesse pour faire le tour du pays (sans la partie extême ouest) que nous découvrirons une autre fois peutêtre. Aegis est un traitement antimicrobien destiné à bloquer les odeurs.  ÿþ<> Y pas beaucoup de neige, puis d coup, au panneau Laffrey, c une autre histoire.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
A NEW looser tiny rocks floor will certainly nike free 3.0 v3 Mnd manage danger of a far more main concern on your own feet. The place is defenetely very romantic and it is the perfect gateway for a few days or as a pleasant stop while touring Umbria. Le réchauffer chaude design de délicate , clair Environnement : vin rouge , grave gris  éco. Entre Merrell et nous, il y a eu une mise en commun vraiment très poussée des savoirfaire pour parvenir à un parfait morphing, l'intégration des semelles et des tiges , précise Jérôme Bernard.. ÿþ<> Ce cirque me décoit par son manque d'originalité. Avec aucune difficulté à février 1955, lutte contre le retour COCO CHANEL rapporté de n'importe quelle variété ambiguïté en utilisant un rectangle en acier inoxydable.  
+
==Example usage==
+
Consider the standard <code>*scratch*</code> buffer:
Si Phoebe Philo consacre énormément d'attention aux détails (voir ses cols roulés intégrant des colliers), elle témoigne également d'un formidable talent pour composer des total looks. Contrairement aux graines de Chia (un autre must), le saucisson sec n'apporterait aucun oméga3, par exemple. ÿþ<> N'empêche, il faut avoir envie de garder la forme pour se retrouver à 8 h 20, ce dimanche de mars glauque, au bout d'un quai de la gare d'Austerlitz.
+
 
ÿþh
+
<pre>
l'humidité qui, souvent, va provoquer une odeur de la cheville et des allergies. One day the master takes it tries, this Cheap Vibram Fivefingers Sprint Shoes master has not taken down it, but wears it to attend a meeting. Il repart par la route, il l frigorifier notre Ari ! JMG veut arr mais les little mentale commencent fuser, donc par fiert il reprend, malgr ses jambes qui subirent la Saint lyon deux semaines auparavant. ÿþ<> in the celebration you are going to spend every wow gold solitary 30 days to hold out world of Warcraft,, and why they are so popular. Six jours plus tard, un vieux camion russe le laisse, lui et son chargement, devant une petite cabane au bord du lac Baïkal. Au point qu'on se demande comment il s'accommode de sa rue parisienne parfumée aux pots d'échappement.
+
;; 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>
 +
 
 +
==Saving macros==
 +
{{Manual|emacs|Save-Keyboard-Macro|Save Keyboard Macro}}
 +
 
 +
===Binding to a key===
 +
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

Revision as of 06:05, 19 October 2013

Basic Keyboard Macro (`(info "(emacs) Basic Keyboard Macro")')

Keyboard macros can be used to automate or repeat tedious editing tasks in Emacs.

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.

Saving macros

Save Keyboard Macro (`(info "(emacs) Save Keyboard Macro")')

Binding to a key

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