秀丸でxmpfilterを使う
方法をちょっと探ってみました。
秀丸パイプの導入
秀まるおのホームページ: http://hide.maruo.co.jp/
の、ライブラリ -> 変換モジュールライブラリ から、"秀丸パイプ"をダウンロードして、適当な場所に展開する。
普通は、*.hmfというファイル(実態はDLL)をHidemaru.exeと同じディレクトリに配置するようです。
秀丸パイプの場合、HmPipe.hmfの他にHmPipe.iniという設定ファイルもあります。これらは同じディレクトリに配置しなければならないそうです。
そして、「動作環境」の「上級者向け設定」チェックを効かせて、
「編集」->「変換」から、「変換モジュール」にHmPipe.hmfを追加して
その下の「使用する変換」の「秀丸パイプ」をONにしておきます。
プルダウンメニューの「編集」->「変換」に、「秀丸パイプ」という項目が現れているはずです。
範囲選択した状態でこれを選ぶと、秀丸パイプのメニューが現れて、適用させるフィルタを選択できます。
秀丸パイプの設定
HmPipe.iniを編集します。このファイルの書式はhmpipe_readme.txtに書かれています。
とりあえずxmpfilterを使うだけならこんな感じ。
xmpfilter ruby C:/ruby/ruby1.8/bin/xmpfilter xmpfilter-mark ruby C:/ruby/ruby1.8/bin/xmpfilter -m xmpfilter-test/unit ruby C:/ruby/ruby1.8/bin/xmpfilter -u
この際、"xmpfilter"と"ruby"、"ruby"と"C:/ruby/ruby1.8/bin/xmpfilter"の間は
タブ文字で区切られている必要があります。
エディタでソフトタブを使っている人は注意してください。半角スペースだとダメです。
キーバインド
変換モジュールの使用はキーバインドできないそうです。マクロを書く必要があります。
#pre_selecting = selecting; if (selecting == 0) selectall; filter "HmPipe.hmf" , "HmPipe"; if (selecting == 1 && #pre_selecting == 0) escape; endmacro;
こんな感じでいいのか?
でもって、「その他」->「キー割り当て」からそのマクロを適当なキーに割り当てると。
マクロから変換モジュールをDLLとしてロードすれば、いちいち秀丸パイプメニューを出さずとも、直接xmpfilterとかxmpfilter-markとかを実行できるっぽいですけど、秀丸は2ストロークキーが使えずそんなに(使い易い)キーに空きが無いので、自分的にはこれで満足です。