Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(five fingers vibram 5 finger vibram vibram fivefingers uk uspw)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(253 intermediate revisions by 63 users not shown)
Line 1: Line 1:
Le lendemain, skis au patte et moultes descentes à hum.  ÿþ<> But the materials are not only green, they are moisture wicking and have odorcontrol properties. well I didn't have any I have been wearing TOMS or Chucks. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
Dans la descente je reprends un coup d je suis bien, je pourrais continuer courir pendant des heures, je suis en mode finisher, rien ne peut m aujourd Je suis avec Michael, on est en plein d on se filme, on dit que des conneries (c rare), puis on attend le reste du groupe. Il y a pléthore de coachs à New York ou à Londres, moins à Paris, sauf sur www. ÿþ<> Départ du pont du Lauga, pour +900m de dénivelé, ingrats au début en forêt mais grandiose une fois au grand jour. 
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
HommesFixations et bottesLunettes et accessoiresCasques de ski et plancheLunettes de ski et planchePlanche à neigeSkiFemmesFixations et bottesLunettes et accessoiresCasques de ski et plancheLunettes de ski et planchePlanche à neigeSkiJuniorLunettes et accessoires JuniorFixations et bottes JuniorPlanche à neigePlanche à neigeFixation à planchePlanches à neigeCasques de ski et plancheBottes de planche à neige SacsSkiSkiBâtonsMarquesArtecBlack DiamondBurtonElectricForumGNULib TechnologiesLineNOWVansYES Epaisseur de la semelle: 4,0mm Semelle intérieure EVA de 2mm Lavable en machine. Certains types hun bottes minimalistes comprennent Nike Run gratuit, Vibram 5 Finger et gravité hun Newton de la scène.. Because master appointment each time can put on the vibram, the vibram also had understood gradually master boyfriend, that is one to the master also calculated sympathizes, and somewhat lovable young fellow, master with him, in truly also has the very happy time together. ÿþ<> Les habitués de Fontainebleau décident d'imiter le promeneur visionnaire qui, dans les années 1840, marqua de signes bleus ses itinéraires à travers la forêt. Evolution de la chaussure Bikila incroyablement populaire, le modèle Speed reprend le look et le ressenti des chaussures de course classiques avec le confort de cette chaussure de course Bikila aussi novatrice que populaire.  
+
 
+
==Basic Use==
As we all known, girls all love Christian Louboutin shoes, louboutin sale not only because this brand is famous, but also all the shoes are beautiful and unique, christian louboutin sandals especially the sexy signature red sole, when girls are wearing it, christian louboutin wedges can show their dignaty and elegant, such a pair of perfect christian louboutin mens shoes, who can ignore it! When i began to wear high heeled shoes, i love christian louboutin pumps, it can modificate my body line, so i love it very much. McDougall a confié que les négociations d'adaptation au cinéma sont actuellement "sur le grill", et qu'il reprendra le projet de script, initialement porté par Sarsgaard. ÿþ<> Quand on bosse beaucoup dans la mode, la beaut quand on sait que son placard est en trop plein, on est forc interpell par un sujet tel que celui publi dans Lib vendredi dernier, une double page sign Marie Piquemal, et qui raconte l de ces gars et ces filles qui ont d de vivre avec moins de 100 objets.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
galement utiliser duvet d'oie, moncler soldes à créer des supérieure  performances habillement . While these hiking shoes won't give you all the support of a fullsize boot, they'll make up for it by being lighter, which means they're perfect for summer camping. "Un jour de sentier, huit jours de santé!" certifie un adage de la FFRP. ÿþ<> They boast Vibram soles and an Impact Brake System enabling them to handle any terrain well. La traversée est d'une demiheure avec le rapide et d'une heure avec le lent. This is not going to hurt your vibram five finger shoes, although the printer can seep off the newspaper page and also stain the of one's vibram five finger shoes in the event you leave them within for too extended..
+
: 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.