キーボード・マクロって知ってる? キーボードへの入力をキーボードに覚えさせて、それを使いまわすもの。手順としては
- キーボード・マクロ記憶開始キーを押す
- キーボード・マクロ呼び出しキーを入力
- キーボードにカチャカチャ打ちこむ
- キーボード・マクロ記憶終了キーを押す
- 2. で教えた「キーボード・マクロ呼び出しキー」を打つと 3. で覚えさせたキー操作を実行する。
という感じ。
本当にこういうことがしたければ、キーボードにメモリーを載せなきゃいけない。ほとんどのキーボードは、そこまでお金をかけてないから、たいていソフトウェア側がキーボード・マクロをサポートしている。
今回は、Emacs が実装してるキーボード・マクロについて。
Emacs のキーボード・マクロ
Emacs のキーボード・マクロ記憶開始キーは C-x (、キーボード・マクロ記憶終了キーは C-x )。C-x e で最後に記憶させたキーボード・マクロを呼び出す。
例えば次のテキスト
Excel: 表計算 Word: ワープロ PowerPoint: プレゼン ...
を
<dt>Excel:</dt> <dd>表計算</dd> <dt>Word:</dt> <dd>ワープロ</dd> <dt>PowerPoint:</dt> <dd>プレゼン</dd> ...
という HTML の定義リストに直すには、こんな感じにキーボード・マクロを活用する。
C-x ( # キーボード・マクロ記憶開始 <dt> # <dt> を入力 C-s : # ':' を検索 (C-s は検索コマンド。カーソルは ':' の後ろへ) </dt> # </dt> を入力 C-f # カーソルを右へ一つ移動 <dd> # <dd> を入力 C-e # 行末へ移動 </dd> # </dd> を入力 C-n # 次行へ移動 C-a # 行頭へ移動 C-x ) # キーボード・マクロ記憶終了 (一行分の処理を覚えさせた) C-x e # 記憶したキーボード・マクロを呼び出し C-x e # 記憶したキーボード・マクロを呼び出し ...
100 回キーボード・マクロの呼び出しを実行する場合は、C-u 100 C-x e。
CVS 版 Emacs の Tips
Emacs-22.0.50 だと、二回目以降のキーボード・マクロ呼び出しを e だけでできる。つまり
C-x e C-x e C-x e ...
という呼び出し作業が
C-x e e e ...
という風に簡略化できる。
あとがき
はてな人力検索の
に山下達雄さんが dmacro.el を紹介する回答を返していて
dmacro.el も便利だけど、Emacs-22.0.50 のキーボード・マクロにもこんな Tips があるよ〜、と書こうと思ったら前半が長くなっちゃった。う〜ん、反省。
そうそう、先のはてな人力検索にはぼくも回答してる。初人力検索!
No comments:
Post a Comment