Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(vibram five fingers shoes five fingers converse sko udsalg mfsq)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(285 intermediate revisions by 65 users not shown)
Line 1: Line 1:
Opéra Blue (10) aura lui aussi de grosses prétentions ! Ayant repris de la fraîcheur après un meeting d'hiver extraordinaire, il avait légèrement déçu lors de sa dernière sortie où il apparaissait un peu fatigué.  ÿþ<> Sur une piste ultra roulante et où il était impossible de revenir de l'arrière garde, il n'a jamais pu regagner un centimètre dans la phase finale. donc le bleu marine ou le violet.24. 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
Parfois je dois poser ma tête sur un fauteuil, renvers en arri et elle s'asseoit sur mon visage me laissant juste la possibilit de respirer en ayant la bouche ouvert. "La magie de Venise ne résiste pas au tourisme de masse" Le voici au meilleur de sa forme, capable de sortir, entre deux commentaires sur la collection, à propos de la série de films consacrés ces tempsci à Gabrielle Chanel: "Chanel fait partie du domaine public, mais je ne suis pas là pour applaudir ces trucs.  ÿþ<> Les secteurs de la hightech, de l'industrie financière et de la pharmacie sont également très actifs.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
Chaussures super confortables,intérieur cuir, avec un choix assez large de matières (cuir, satin etc.) et des couleurs où vous trouverez forcément votre bonheur. Les services offerts sont la conception et la fabrication d plantaires, ainsi que l de produits orthop tels que les chevill attelles et supports athl divers. Les Chaussures Vibrantes Thérapeutiques (The Good Vibrations Therapeutic Vibrating Shoes) ont vous l deviné, des vibreurs intégrés pour vous aider à stimuler vos muscles douleureux et fatigués en les relaxant afin de laisser le sang et l circuler librement. Toutes les chaussures déposées seront récupérées pour être redistribuées à des personnes défavorisées..  ÿþ<> heureusement , nous sommes suivi par une equipe geniale sur rennes ou il y a une tres bonne solidarit car pour les parents n ayant pas les moyens , ceux qui les ont laissent les chaussures trop petites l bas et elles reservent au moins elles n atterrissent pas sur certains sites d encheres ( e bay )Envie d'un bébéSymptômes de la grossesseL'assistance médicale à la procréationAdopter en FranceEnceinteDéveloppement du foetusTrousseau de maternitéFausse coucheAccouchementNutritionPremiers moisBancs d'essaiPuéricultureAlimentation bébé bioMaman soloDéclarer bébéBébé au quotidienModes de gardeBaigner bébéHygiéneSécuritéSommeilSanté bébéVaccinationsPoussées dentairesFiches maladiesHandicapMédicamentsAlimentation bébéSevrageDiversificationAllaitementRecettes bébéEveil bébéPropretéDéveloppement bébéMarche bébéLangage bébéJeux bébéPsychologieEducation bébéSexoBabybluesCoupleDroits de l'enfantCongé parentalCongé paternitéLa PajeDivorceCongé maternitéMode bébéChouchouter bébéParents people Un pansement pour arr l'h Pour convaincre le Serbe Milosevic, le Bosniaque Izetbegovic et le Croate Tudjman de cesser de s'entretuer, il a fallu faire la part belle aux nationalismes.  
+
 
+
==Basic Use==
Celle qui est donnée comme ça, comme l'air, comme le ciel. Polyvalent et facile à utiliser, les mocassins sont le best de cette tendance. ÿþ<> La course à pied est un sport à la portée de tout le monde et de toutes les bourses.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
Le meilleur buteur du dernier Championnat de Grèce avec 20 réalisations sera présenté au public de Goodison Park, lundi soir lors du choc de la première journée opposant les Toffees à Manchester United. tondeuse.. Sans que les joueurs soient perturb par ces innovations..  ÿþ<> L'autre point, quand vous intégrez le don dans votre entreprise, vous aurez plus de facilité à recruter et retenir les talents. Ma m naturelle envers l humain est toujours pr mais ma confiance en mes capacit pour l progresse. Les mecs de la sécurité se crispent (il y en a quand même pour 30MF).
+
: 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.