Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(converse sko tilbud bшrn billige converse sko vibram fivefingers bdkk)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(118 intermediate revisions by 48 users not shown)
Line 1: Line 1:
A l'heure oГ№ l'innovation est source d'avantages concurrentiels, les entreprises trouvent Г  ces paris fous des vertus raisonnables.  яю<> tous ces modГЁles ultra compensГ©s carrosГ©s comme des avions de chasse donnent aux femmes des allures de dominatrices qui pourraient leur donner des idГ©es D'ici qu'elles les surpassent de la tГЄte et des Г©paules. Don't miss the vibram sports with vibram sole for youth. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
Aux yeux des profanes, ce geste audacieux ne servira qu'Г  graver le nom de Michel Fournier dans  Le Livre des records . Eider s'est inspirГ© des requГЄtes de l'himalayiste Jean Trouillet pour fabriquer une combinaison mixte en plume d'oie, gilet le jour, duvet la nuit. яю<> Resta inteso che le imprese si trovano offer affrontare fuori capo oltre alla qualitГ  age sistema di supervisione tecnica, mum anche le.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
яюh
+
 
Vous pouvez vous prГ©parer en achetant COCA en homГ©opathie et biensur de prendre de l'aspirine au cas oГ№. <>]. La mont de Jadin se fait en marchant, puis au belv notre Dawa Sherpa local, alias Alex, monte au train avec Michael dans ses trabuco, Stephen prend un coup d et JMG aussi, moi je suis mais prends quelques m de retard, je d de monter au train un moment et puis j mes deux comp car je me fais chi tout seul ! On est tous dans le dur (enfin certains plus que d on languit la fin. Le concept est simple: une chaussure de ville souple et moderne, dГ»ment lacГ©e et convertible en babouche par le retrait de la semelle intГ©rieure et l'abandon du chaussepied. яю<> Tout est bon pour se faire plaisir. Mulberry Bag.
+
 
+
==Basic Use==
Il n'empГЄche : on se rГ©gale Г  lire ce croisement entre JeanJacques Rousseau et Bear Grylls, le hГ©ros survivaliste de la sГ©rie tГ©lГ© culte Man versus Wild. The meeting the vibram Vibram Five Fingers will be returned from now on to the brocade box bosom, the vibram has still enjoyed master nonperiodical showing loving concern, the vibram thought that the master each time looked its look always has the whole face appreciation vibram KSO actually to reveal the light sadness, this time master has one kind to let the human ponder over the airtight mood. яю<> AprГЁs des annГ©es de tyrannie de la chaussure hightech, renouer avec l'extase tellurique du coureur kenyan aux talons cornГ©s serait le pied.  
+
 
яюh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
Vous vous souvenez de lui ? Oui, bien s il est m prof de philo chez nous Bah, rajeunit pas, tout A vrai dire, ils s faire leur premier trail. Les gens achГЁtent du matГ©riel pour des sorties Г  la journГ©e. "On prenait le train pour descendre une partie du sentier, on marchait quinze jours et on reprenait un autre train pour rentrer", explique Henri Viaux, qui Г©voque avec Г©motion sa traversГ©e des Alpes, du LГ©man Г  Menton, bouclГ©e en trois fois..  яю<> Pour ne rien oublier, dresser une liste en partant de la t et en descendant jusqu pieds. Attention Г  ne pas become addicted.. Arriv la Festini Johan et Benoit nous quitte.
+
: 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.