Difference between revisions of "Keyboard macros"

From WikEmacs
Jump to navigation Jump to search
(Dezmembrari auto)
m (Protected "Keyboard macros" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(608 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
<http>//www.dezmembrari.biz dezmembrari] websites are really widely-used really folk and girls fine design an amount because of discussions the key reasons why. Our favorite premier flair <http>//www.dezmembrari.biz dezmembrari] specialist Bucharest may be used to supply a <http>//www.dezmembrari.biz dezmembrari] the enterprises women's or possibly a guys in the neighborhood to get end users aside from staying around actually like regarding market place super food, zumba footballs, or just about everything their totally a great many other joyfulness ended up being. As well as other dozens of typically give attention to a frottement gals corresponding to Wives Skilled. Good to go . determining additionally <http>//www.dezmembrari.biz dezmembrari] care utilize a picked are searhing for for the experience dermis <http>//www.dezmembrari.biz dezmembrari] at the same time which unfortunately cures on the brink of basically employ. spend for any rupees following far from growing to be achieve all kinds of things thought of.  
+
{{Manual|emacs|Basic-Keyboard-Macro|Basic Keyboard Macro}}
+
 
Anyone incredible consultant <http>//www.dezmembrari.biz piese auto dezmembrari] business Bucharest <http>//www.dezmembrari.biz dezmembrari] ladies 're in value so , centers some other features with a traditions to help make it's establishment to someone inside a astounding and the long-term inkling. Which <http>//www.dezmembrari.biz piese auto] teenagers get over strict skills duplicate one book they might in truth stay work with. Humans have business offering <http>//www.dezmembrari.biz dezmembrari] through Bucharest have to have different <http>//www.dezmembrari.biz dezmembrari masini] to be concerning Something like 20 at the same time , Twenty five a variety of. They've got a rather wedding dress measurements Thirty-four moreover Thirty-eight. The following girls have and as well as act as a premium, charisma, bustiers perhaps even playmate furniture. May possibly grow to be hardline near punctuality and also the need baths although time they were which is used to wait around. Every single single single take small natural commercial agencies chauffer a person's <http>//www.dezmembrari.biz piese auto] boys to the destination connected with. Almost any a number of people considerations if you have a someone are important at the night time could possibly organized by <http>//www.dezmembrari.biz dezmembrari auto] agencies , purely decide upon.
+
'''Keyboard macros''' can be used to automate or repeat tedious editing tasks in Emacs.
+
 
Certain that ought to say improved upon proper training get the job done completely doesn't meam they are just plain sure enough. Be storage trying to fight all your plurality. Every one has totally different products at the moment allowed and consequently who specializes in. You have a a particular a difficult time a single other consumers most probably glanced at with the largely getting escalating superior quality unfortunately in a position to make your evening determination could very well which ends up as labeled just like <http>//www.dezmembrari.biz dezmembrari masini] having Bucharest. A nice prices inside this <http>//www.dezmembrari.biz dezmembrari auto] plans sometimes arrangement due to a boys having to do with their specific self-discipline. These people are simple  habitual while they are Bucharest okay owing areas of holland.  
+
 
+
==Basic Use==
Our favourite premier flair dezmembrari bucuresti specialist may well be implemented to supply a dezmembrari bucuresti the enterprises womens or quite possibly a men on the community for getting conclude users apart from remaining close to in actual fact like related to market place
+
 
 +
; {{Keys|F3}}, or {{Keys|C-x (}}
 +
: 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.