000 to 999 in emacs

There have been times that I’ve needed lists of numbers in order. Mostly for programming things. Today I created such a list using emacs via a keyboard macro.

To use it, do M-x edit-kbd-macro and then choose a key combo. (I always use C-x e). Then replace whatever is in the buffer with this text:

;; Keyboard Macro Editor.  Press C-c C-c to finish; press C-x k RET to cancel.

Command: last-kbd-macro
Key: none

Macro:

C-SPC			;; set-mark-command
0			;; self-insert-command
RET			;; newline
1			;; self-insert-command
RET			;; newline
2			;; self-insert-command
RET			;; newline
3			;; self-insert-command
RET			;; newline
4			;; self-insert-command
RET			;; newline
5			;; self-insert-command
RET			;; newline
6			;; self-insert-command
RET			;; newline
7			;; self-insert-command
RET			;; newline
8			;; self-insert-command
RET			;; newline
9			;; self-insert-command
C-x r k			;; kill-rectangle
C-x C-x			;; exchange-point-and-mark
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
0			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
1			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
2			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
3			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
4			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
5			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
6			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
7			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
8			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
C-b			;; backward-char
C-x r t			;; string-rectangle
9			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
C-SPC			;; set-mark-command
ESC < ;; beginning-of-buffer
C-x r k			;; kill-rectangle
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
0			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
1			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
2			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
3			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
4			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
5			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
6			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
7			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
8			;; self-insert-command
RET			;; newline
C-e			;; end-of-line
RET			;; newline
C-x r y			;; yank-rectangle
2*C-b			;; backward-char
C-x r t			;; string-rectangle
9			;; self-insert-command
RET			;; newline

C-c C-c to compile the code and then switch to an empty buffer. C-x e and in a couple seconds: bang
000
001
002
003
...
997
998
999

Magic.

This entry was posted in my code. Bookmark the permalink.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>