2010年11月27日
xyzzyのキーボードマクロをファンクションにする
xyzzyでプログラムを編集するときに、決まった作業を繰り返すことがよくあります。
そういうときは、キーボードマクロを定義します。
簡単なものならその都度キーボードマクロをさっと定義して、C-x e で実行すればいいのですが、作業的に頻繁に使うものならファンクションにして、.xyzzyに入れておき、いつでも使えるようにしておくと便利です。
たとえば、以前紹介した携帯用の絵文字変換の記事のように、imodeからau,softbankへの絵文字変換をファンクションとして定義してあるとき、作業手順としては、
1.imodo用のファイルを開く。
2.au用に1をコピーする。
3.softbank用に1をコピーする。
4.2を開き、 M-x au-replace を実行し、au用に絵文字変換する。
5.4を保存する。
6.3を開き、 M-x softbank-replace を実行し、softbank用に絵文字変換する。
7.6を保存する。
のようになります。
でも、たくさんのファイルを扱うときにいちいちこの手順を踏むのも面倒なので、キーボードマクロを定義します。
まず、imode用のファイルを開いておく。
C-x ( ← キーボードマクロの定義
C-x C-w au.html ← imode用のファイルをau.htmlという名前のファイルにコピー
C-x C-w softbank.html ← imode用のファイルをsoftbank.htmlという名前のファイルにコピー
C-x C-f au.html ← au.htmlを開く
M-< ← 念のため、ファイルの先頭に移動
M-x au-replace ← imodeの絵文字をauの絵文字に変換
C-x C-s ← 保存
C-x C-f softbank.html ← softbank.htmlを開く
M-< ← 念のため、ファイルの先頭に移動
M-x softbank-replace ← imodeの絵文字をsoftbankの絵文字に変換
C-x C-s ← 保存
C-x C-f mobile.html ← imode用のファイルを表示
C-x ) ← キーボードマクロの終了
まずここまでで、別のファイルでも C-x e としてこのキーボードマクロを実行するだけで、簡単にimodeの絵文字をauやsoftbankの絵文字に変換してくれます。
でも、これだけでは、エディタを閉じたら使えなくなってしまいます。
そこで、ファンクションにして、.xyzzyに書いておきます。
上のようにキーボードマクロを定義したら、
M-x name-last-kbd-macro mymacro ← キーボードマクロに名前を付ける。mymacroのところは適当に名前をつける
C-x C-f ~/.xyzzy ← .xyzzy を読み込み
M-x insert-kbd-macro mymacro ← mymacroをファンクションとして書きだす。
これで、ファンクションとして定義されました。こちらを参考。
M-x mymacro
で使えます。
次にxyzzyを開いたときから有効になります。
今のウインドウで有効にしたいときは、
M-x load-file ~/.xyzzy
としてやると、いまのウインドウでも有効になります。
そういうときは、キーボードマクロを定義します。
簡単なものならその都度キーボードマクロをさっと定義して、C-x e で実行すればいいのですが、作業的に頻繁に使うものならファンクションにして、.xyzzyに入れておき、いつでも使えるようにしておくと便利です。
たとえば、以前紹介した携帯用の絵文字変換の記事のように、imodeからau,softbankへの絵文字変換をファンクションとして定義してあるとき、作業手順としては、
1.imodo用のファイルを開く。
2.au用に1をコピーする。
3.softbank用に1をコピーする。
4.2を開き、 M-x au-replace を実行し、au用に絵文字変換する。
5.4を保存する。
6.3を開き、 M-x softbank-replace を実行し、softbank用に絵文字変換する。
7.6を保存する。
のようになります。
でも、たくさんのファイルを扱うときにいちいちこの手順を踏むのも面倒なので、キーボードマクロを定義します。
まず、imode用のファイルを開いておく。
C-x ( ← キーボードマクロの定義
C-x C-w au.html ← imode用のファイルをau.htmlという名前のファイルにコピー
C-x C-w softbank.html ← imode用のファイルをsoftbank.htmlという名前のファイルにコピー
C-x C-f au.html ← au.htmlを開く
M-< ← 念のため、ファイルの先頭に移動
M-x au-replace ← imodeの絵文字をauの絵文字に変換
C-x C-s ← 保存
C-x C-f softbank.html ← softbank.htmlを開く
M-< ← 念のため、ファイルの先頭に移動
M-x softbank-replace ← imodeの絵文字をsoftbankの絵文字に変換
C-x C-s ← 保存
C-x C-f mobile.html ← imode用のファイルを表示
C-x ) ← キーボードマクロの終了
まずここまでで、別のファイルでも C-x e としてこのキーボードマクロを実行するだけで、簡単にimodeの絵文字をauやsoftbankの絵文字に変換してくれます。
でも、これだけでは、エディタを閉じたら使えなくなってしまいます。
そこで、ファンクションにして、.xyzzyに書いておきます。
上のようにキーボードマクロを定義したら、
M-x name-last-kbd-macro mymacro ← キーボードマクロに名前を付ける。mymacroのところは適当に名前をつける
C-x C-f ~/.xyzzy ← .xyzzy を読み込み
M-x insert-kbd-macro mymacro ← mymacroをファンクションとして書きだす。
これで、ファンクションとして定義されました。こちらを参考。
M-x mymacro
で使えます。
次にxyzzyを開いたときから有効になります。
今のウインドウで有効にしたいときは、
M-x load-file ~/.xyzzy
としてやると、いまのウインドウでも有効になります。
Posted by スポンジボブ at 23:06│Comments(0)│xyzzy
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
コメントフォーム