ドローイング空間

3D-CADを中心に、雑多なことをかいています。

秀丸エディタの「変換リストによる連続置換マクロ (ListReplace.mac)」を使う

広告

秀丸エディタは、多くの役に立つマクロが公開されており、マクロが作成できないユーザーでもその恩恵が得られます。 中でも、「変換リストによる連続置換マクロ (ListReplace.mac)」は、 変換リストに基づいて、複数の置換操作を一度に行ってくれる便利なマクロです。

 

秀丸エディタは、Windows環境では、良く知られているテキストエディタです。 一見何の変哲もないテキストエディタですが、その本質は、マクロ機能にあります。 マクロを駆使することで、複雑な処理を高速で行うことができるようです。

ただマクロが自分で作れないと、公開されているマクロを利用するだけになるので、ほかのテキストエディタと差異はありません。 ただ、公開されているマクロを活用するだけでもその便利さの一端は、享受することができます。

マクロのダウンロード先

山紫水明のマクロのページ

「変換リストによる連続置換マクロ (ListReplace.mac)」をダウンロードします。 この記事を書いている時点(2016-08-27)では、バージョン3.07β5 (公開日 2015-11-02)が、最新版のようです。

ダウンロードした後、解凍してみるとマクロ本体しか存在しません。

そこで、バージョン3.04をダウンロードして、その中のドキュメントを参考にします。

田楽DLLの準備

田楽DLLを「Hidemaru」フォルダにコピーします。

まず、田楽DLLが必要なので、ダウンロードして、「Hidemaru」フォルダにコピーします。

田楽(でんがく)サーバ&DLL&BREGEXP DLL Wrapper 専用開発室

現時点(2016-08-27)での最新版は、Ver.3.22のようです。

ダウンロードしたファイルを展開し、その中のDengakuDLL.dll を適当なフォルダ(例:秀丸のフォルダ)にコピーします。

32bit版を使用していれば、「Program Files(x86)」、 64bit版であれば、「Program Files」内の「Hidemaru」フォルダにコピーします。

32bit版を使用していれば、「Program Files(x86)」、 64bit版であれば、「Program Files」内の「Hidemaru」フォルダにコピーします。

マクロをマクロ用フォルダにコピーする

マクロ用フォルダの位置は、その他から、動作環境を選択し、

その他から、動作環境を選択する

環境から、マクロファイル用のフォルダの項目に示されています。必要に応じて、位置を変更します。

マクロファイル用のフォルダの項目に示されています。

確認したマクロファイルフォルダに「ListReplace.mac」をコピーします。

検索置換マクロを実行する

マクロから、「マクロを実行」を選択します。

マクロから、「マクロを実行」を選択します。

「ListReplace.mac」を選択し、「OK」をクリックします。

「ListReplace.mac」を選択し、「OK」をクリックします。

連続置換マクロの実行画面です。

連続置換マクロの実行画面です。

なぜか、Altキーを押すと表示が乱れます。

Altキーを押すと表示が乱れます

変換小リストの作成

変換リストをダイアログの上で作成します。比較的簡単なリストを作るときに使う事が想定されています。 リストのファイル形式をよく理解していない間は、ここからリストを作成しましょう。

変換小リストの作成

リスト作成のダイアログが表示されます。このダイアログもAltキーを押すと表示が乱れます。

  • "templist.txt" として保存され,直後の置換に利用できます。 同名のファイルがすでに存在するときは上書きされます。別名で保存することもできます。
  • Esc キーで、メインメニューに戻ります。
  • 編集中はエンターキーまたはタブキーでも次の欄に移動できます。
  • このダイアログからの直接置換をする場合は,直前にメインダイアログで変更した項目は反映されません。 確認する必要があるときは,いったんメインダイアログに戻る必要があります。

    変換小リスト

変換リストを作成する

一行に変換項目を記述し、それを並べたものです。 それぞれの項目は、コンマで区切り「,」リターンで終了します。パラメーターは省略できます。

検索語, 置換語, パラメーター↩

  • 変換リストは、上から順に実行されます。
  • 文字数の制限はありません。
  • 区切りは通常は全角または半角のコンマを用います。ダイアログで指定することで、ほかの文字も使用できます。
  • スペースを使って、列をそろえる場合は、スペースが検索置換に反映されないように、ダイアログで、「両端のスペースを除く」を指定します。
  • 複数の区切り記号を混在させても問題ありません。(変換モジュール使用の場合は7個まで,使用しない 場合はとくに個数の制限はありません)
  • 前後の空白を含めて置換対象にすることもできます。この場合は最初のダイアログ で「両端のスペースを含む」を指定します。
  • 「//」を行頭に付した注釈行をつけることができます。連続した複数行の注釈も可能です。この記号は変更ができます。
  • 改行のみの行は無視されます。リストを見やすくするために使用することができます。
  • リストはどのフォルダに置いてもかまいませんが,特定のフォルダに入れておいた方が管理しやすいと思います。 リストの選択では、前回使用したファイルが開かれます。

置換パラメーター

パラメーターは、複数指定できます。複数指定する場合の順序は任意です。 パラメーターとパラメーターの間は、区切り文字で区切ります。

パラメーター 省略表記 意味
word w 単語単位の変換(日本語の場合は、漢字の連続の際に機能する)
casesense c 大文字、小文字を区別します
nocasesense nc 大文字、小文字を区別しない
regular r 正規表現(大文字、小文字は区別されます)

wordパラメーターの挙動

バージョン3.04の添付ドキュメントに、wordパラメータの説明が例を挙げて書かれていたので転記しておきます。

変換リスト

word指定なし

cat, 猫

band, 帯

word指定あり

cat, 猫, word

band, 帯, word

検索対象文字列 word指定なし word指定あり
catch 猫ch catch
abandon a帯on abandon

漢字熟語にも対応していますので、漢字が連続する表記での意図しない置換を防止できます。

変換リスト

和歌,短歌

東,西

検索対象文字列 word指定なし word指定あり
和歌 短歌 短歌
和歌山 短歌山 和歌山
西 西
東京 西京 東京
伊東 伊西 伊東

循環するリストを使用する際の注意点

これもバージョン3.04の添付ドキュメントに、例を挙げて書かれていたものを転記しておきます。

変換リスト

1,2

2,3

3,4

4,5

この場合、対象文字列中の1~4の数字はすべて5になります。

これを避けるには、置換リストの順序を変更します。

変換リスト

4,5

3,4

2,3

2,3

循環するリストの場合は、この方法では解決されません。

変換リスト

1,2

2,3

3,4

4,1

ダミー文字に一度変換することで対応できます。 ダミー文字は、実際に変換されるので、処理する文書中に存在しない文字を使用する必要があります。

変換リスト

4,@

3,4

2,3

1,2

@,1

変換リストを同じ場所に保存する

エディタで、変換リストを作成する場合、保存フォルダに同じフォルダを指定するのは面倒です。

そこで、マクロで保存先を指定して、保存すれば、便利になりそうです。

秀丸エディタの、アクティブドキュメントをマクロとして保存するマクロ - ドローイング空間