\(tag-number,function) 置換の時の、変換モジュールによる変換の指定(Ver9.35対応版)
目次−
コマンド−
検索系コマンド−
正規表現−
置換の時の、変換モジュールによる変換の指定
秀丸エディタのV8.20より、置換の時に、検索でヒットした文字列を変換モジュールに通して、その結果に置換することが出来るようになりました。指定の方法は、秀丸エディタ標準の変換モジュールを使う場合なら、
\(タグ番号,関数名)
となります。他の変換モジュールを使う場合は、
\(タグ番号,関数名,変換モジュール名)
です。変換モジュール名の「.hmf」または「.hmf64」の拡張子部分は省略することが出来ます。
関数呼び出しにパラメータも付けたい場合は、
\(タグ番号,関数名,変換モジュール名,パラメータ)
となります。パラメータの中に空白やカンマを含む場合は、パラメータ全体を""で囲んでください。
変換モジュールを複数通したい場合は、以下のようにネストさせることが出来ます。
\((タグ番号,関数名1),関数名2)
\((タグ番号,関数名1,変換モジュール名1,パラメータ1),関数名2,変換モジュール名2,パラメータ2)
秀丸エディタ標準の変換モジュール(HmFilter.hmfまたは64bit版の場合はHmFilter.hmf64)には、以下の関数が用意されています。
関数名 | メニュー上の名前 |
ToUpper | UPPER CASE |
ToLower | lower case |
ToHankaku | ハンカク |
ToZenkakuHira | 全角ひらがな |
ToZenkakuKata | 全角カタカナ |
ToSpace | TAB -> 空白 (※注) |
ToTab | 空白 -> TAB (※注) |
ToHankakuAlnum | 英数字/記号/空白のみ半角に |
ToZenkakuAlnum | 英数字/記号/空白のみ全角に |
ToHankakuKataOnly | カタカナのみ半角に |
ToZenkakuKataOnly | カタカナのみ全角に |
Indent | インデント |
UnIndent | 逆インデント |
Sort | ソート |
英単語を、先頭の文字だけ大文字にして残りの文字を小文字に変換する例:
検索: \<([a-z])([a-z]*)\>
置換: \(1,ToUpper)\(2,ToLower)
2行のデータを見つけて逆順ソートする例:
検索: ^.+\n.+\n
置換: \(0,Sort,HmFilter,"101000000000000\"00")
英単語を見つけて全角に変換する例:
検索: \<[a-z]+\>
置換: \(0,ToZenkakuHira)
変換モジュールのパラメータを調べる方法
変換モジュールのパラメータは、キー操作の記録をして、キー操作の保存をしてマクロ化することで知ることができます。
ソート(Sort.hmf)という変換モジュールをマクロ化する例
1.適当に範囲選択する
2.[マクロ]→[キー操作の記録開始/終了](標準でShift+F1)
3.[編集]→[変換]→[ソート]
4.[マクロ]→[キー操作の記録開始/終了](標準でShift+F1)
5.[マクロ]→[キー操作の保存]
6.適当にtest.macなどというファイル名で保存
で、マクロができます。
この手順ではソートのダイアログは出ず、記録したときのダイアログで選んだソート方法が記録されています。
マクロファイル用のフォルダにあるtest.macを開くと、
filter "…フォルダ名…\\Sort.hmf" , "Sort" , "000110110002001\"00";
というような感じになっていて、filter文の最後の"000110110002001\"00"の部分がパラメータになっています。
(この例では、マクロの文字列の中に「"」が含まれるので「\"」となっています)
これを置換で使うには、「\(0,Sort,HmFilter,000110110002001"00)」というようにします。
参考:[動作環境]→[編集]→[
変換]