Emacs Keyboard Macro Example: Eval Emacs Lisp Repeatedly
Here's another example of kmacro use.
I have a function
insert-random-uuid [see Emacs Lisp Exercise: insert-random-uuid] I want to call it hundreds of times to see its output. Let's just say i want to call the elisp expression
(random 100) one hundred times.
One way is to write a elisp command on the spot, like this:
(defun xx-random-test () "test" (interactive) (dotimes (ii 100) (insert (format "%d " (random 100)))) )
But that takes 5 minutes to write, plus you need to have elisp knowledge. You can use a kmacro to do this fast, with the following steps.
- Start kmacro 【Ctrl+x (】.
- Type 【Ctrl+u】, then Alt+x
eval-expression, with this expression
(random 100). The 【Ctrl+u】 will make
eval-expressioninsert its result in current buffer.
- Type a space.
- End kmacro 【Ctrl+x )】.
- Type 【Ctrl+u 100】 then call