Hatena::ブログ(Diary)

mooz deceives you

(about 'mooz) ; => "See http://mooz.github.com/index-ja.html"

 | 

February 11 (Thu), 2010

あの Dynamic Macro が KeySnail プラグインに

Here comes dmacro.el

あの dmacro.el が KeySnail のプラグインになりました。インストールは以下のプラグイン名をクリックし、「このプラグインをインストール」より行えます。

Dynamic Macro 繰り返しを検出し、簡単に再実行

KeySnail については no title を参照してください。

Dynamic Macro とは?

Dynamic Macro は、ユーザが繰り返した同じような操作を検出し、検出されたその動作をワンキーで再実行してくれる機能です。

エディタで同じ操作を何度も繰り返すのに疲れたことはありませんか? GNU Emacs で動作する Dynamic Macro (dmacro.el) を使うと、同じ操作を二度実行した後で "繰り返しキー" を押すだけで、その操作を何度も再実行させることができます。

http://www.pitecan.com/DynamicMacro/

詳しくは本家サイト Dynamic Macro を参照してください。

僕はこのプラグインを作成する為に先日初めて Dynamic Macro を体験したのですが、もうこの動作に病みつきです。

デモ動画

本家サイトに掲載されていた例を Firefox + KeySnail + dmacro.ks.js で再現してみました。動画へのリンクを以下に掲載しておきます。

Dynamic Macro on KeySnail on Vimeo

もうこうなると Firefox も立派なエディタと言えてしまうかもしれません。アンドゥ、キルリング、その他諸々。動画中では KeySnail の矩形置換機能もおまけで使用しています。

設定

次のような設定を .keysnail.js の末尾へ貼り付けておきます。

key.setEditKey('M-@', function (ev) {
    ext.exec("dmacro-exec");
}, 'Dynamic macro');

ここでは M-@ といったキーへ「再実行」コマンドを割り当てています。

設定が終了したら、テキストエリアで適当な操作を行い、今割り当てたキーを入力してみましょう。繰り返しが自動で検出され、なかなかうまい具合に動作が再実行されるのがお分かりになるかと思います。

繰り返しの誤爆が大きいな、と感じる方は .keysnail.js の PRESERVE エリアへ次のような設定を行っておくと良いでしょう。

plugins.options["dmacro.predicate_length"] = 20;

これは「次の動作を予測した繰り返し」において「操作の単位」とみなすキー入力数の上限を意味します。デフォルト値は 30 です。

終わりに

まずい動作など見つけられた方はご連絡下さい。

 |