Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(parajumpers jakker moncler jacket women moncler jackets uk uver)
m (refresh doc, add melpa packages)
(293 intermediate revisions by 52 users not shown)
Line 1: Line 1:
avez vous trouvé une solution de votre côté ?.  ÿþ<> Or, à Barcelone, l'entraîneur souhaitait d'abord le voir évoluer avec l'équipe B pour s'habituer au style de jeu des Blaugrana. James ( Jeff ) il sera serviette ce style de types d' portemonnaie bust un important droit règlements chaussure nike pas cher adoptent bon marché , bien aimé appeler l législations règles pour obtenir pouces demi Ford "Inch . 
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
  
j Ses domestiques, qu'elle payait royalement, étaient soirm. La fidélité conjugale chez Mihriban est proverbiale. ÿþ<> J'ai tous les jeux vidéo du monde.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
ÿþh
+
 
Sinon, vous pouvez aussi me croiser dans ma librairie de quartier rue des Dames, à une soirée Girlz in web ou GirlPower 3.0, mes deux réseaux féminins favoris.. L'endroit ne nous attire pas vraiment et nous reprenons route au matin en direction de la frontière du Guatemala et du village de Copn Ruinas. <>]. Depuis le début de sa carrière, cet élève de Philippe Daugeard a été mis dans du coton.  ÿþ<> Une fois dans la grotte, privilégiez les torches déjà entamées avant d'en utiliser d'autres ou de sortir la lanterne. Elle n'a pas vécu seulement au hasard des ghettos diplomatiques.  
+
 
+
==Basic Use==
Nul ne sait d'ailleurs où les aurait menés le libre développement d'inclinations tout à fait indolentes. Seulement devancé par Sévérino et l'impressionnant Main Wise As, il ne déméritait pas pour autant et prouvait qu'il était loin d'être ridicule face à ses ainés. ÿþ<> Or, c faux.  
+
 
ÿþh
+
; {{Keys|F3}}, or {{Keys|C-x (}}
On peut s'interroger sur le timing de ce pseudoscandale, et se demander  à qui profite le crime . Appréhender la recherche en culture matérielle. Néanmoins, avant de voir les Saxo de Vandel, Rapide lebel, Quemeu d'Ecublei ou encore Sévérino, intéressons nous à notre quinté plus du jour, ou plutôt, de la nuit ! Ouvert aux juments de cinq ans, ce prix Até verra seize concurrentes de bon niveau venir se disputer la victoire sur les 2 850 mètres de la petite pisteÿþ<> Le costume des postulantes était composé d'une robe noire ordinaire  ayant des plis sur le devant. Petit regret également du fait que tout au long de l'histoire, il va apprendre de nouvelles compétences, mais ces dernières sont plus destinées à l'exploration qu'au combat (glissade, double saut.).. La Commission rappelle que les taxes antidumping frapperont moins du dixième des paires de chaussures vendues dans l'Union.
+
: 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]]

Revision as of 15:34, 28 August 2014

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.