テキスト編集マクロ集(秀丸用マクロ) Ver.0.11

更新日:2005.02.18

■目次

はじめに 
動作環境 
ダウンロード 
インストール 
アンインストール 
実行方法 
機能 
    1. 指定行へ移動
    2. 左削除(文字数)
    3. 左削除(カラム)
    4 右削除(文字数)
    5 右削除(カラム)
    6 秀丸コメント位置補正
    7 指定文字行削除
    8 HTML変換
    9 複数置換
    A ファイル名一覧取得
    B 重複行削除機能
    C 複数grep機能
    D 対応する括弧へ移動
    E. ソート
    F. Base64変換(.NET)
    G. DNS名称解決(.NET)
注意事項 
免責 
開発予定 
更新履歴 

■はじめに

このプログラムは秀丸エディタのマクロ言語を使用して、各種のテキスト編集を行う機能を提供します。
テキストファイルの編集を行なう機能では新規のファイル、または、本マクロ用のファイルに編集結果を出力することにより、既存のファイルに影響を与えないよう配慮しています。

本プログラムの再配布・改変・流用等はすべて自由です。

サンプル画像


■動作環境

Windows XP, 2000
秀丸エディタ Version4.14 (極力最新版をご利用ください)

※他の組み合わせでも動くかもしれませんが未確認です。

■ダウンロード

textedit.lzh

■インストール

※例ですので、既に他のマクロを使用している場合は適宜環境に合わせてください。

@ 「textedit_vX.XXX.lzh」を解凍する。
A @でできた「macro」フォルダを秀丸がインストールされているフォルダ(「C:\Program Files\hidemaru」等)に移動する。

サンプル画像


B 秀丸の「その他(O)」-「動作環境(E)」-「パス」-「環境」-「マクロファイル用のフォルダ」に「秀丸フォルダ名\macro」を記入する。
(例:「C:\Program Files\hidemaru\macro」)

サンプル画像


C 秀丸の「その他(O)」-「動作環境(E)」-「排他制御」-「秀丸で同じファイルを開く場合」を「同じファイルを2つ開くことを禁止する(既に開いているファイルにジャンプする)」に設定する。
D Cのウィンドウで「ファイルの排他制御」を「しない」または「上書きだけ禁止」に設定する。

サンプル画像


■アンインストール

※インストール方法を変えた場合は適宜環境に合わせてください。

秀丸フォルダにある「macro」フォルダを削除してください。レジストリの変更は行なっていません。(参照のみ)


サンプル画像


■実行方法

編集したいファイルを秀丸で開いた状態で、メニューの「マクロ」-「マクロ実行」で「textedit.mac」を選択してください。

サンプル画像


サンプル画像



また、メニューの「マクロ」-「マクロ登録」で「textedit.mac」を登録しておくとCtl+数字キーですぐに実行できるので便利です。

サンプル画像


サンプル画像



■機能

編集したいファイルを開いた状態でtexteditを実行するとメニューが表示されます。
メニュー項目を選択することにより、各機能を実行します。
なお、開いているファイルは操作せず、結果の出力は新規ファイル、または、テンポラリファイルとなります。
編集結果を保存する必要がある場合は手作業で保存してください(安全性確保の為の仕様です)。
マクロ実行中に処理を中断する場合は「Esc」キーを押してください。

以下メニュー項目の内容を示します。

【1. 指定行へ移動】

開いているファイルの指定行へ移動します。

【2. 左削除(文字数)】

開いているファイルのすべての行に対して指定した数だけ左側を削除します。
ただし、一行の文字数が指定した数より小さい場合は、行を越えての削除はしません。

【3. 左削除(カラム)】

開いているファイルのすべての行に対して指定したカラム位置より右側を削除します。
一行の文字数が指定したカラム位置よりも小さい場合は削除されません。

【4. 右削除(文字数)】

開いているファイルのすべての行に対して指定した数だけ右側を削除します。
ただし、一行の文字数が指定した数より小さい場合は、行を越えての削除はしません。

【5. 右削除(カラム)】

開いているファイルのすべての行に対して指定したカラム位置から右側を削除します。
一行の文字数が指定したカラム位置よりも小さい場合は削除されません。

【6. 秀丸コメント位置補正】

開いている秀丸マクロのコメント(//)の位置を指定したカラムに補正します。
先頭にあるコメントは補正対象外となります。
(秀丸マクロ作る人じゃないと必要ないと機能だと思います)

【7. 指定文字行削除】

開いているファイルの中に指定した文字列が存在する行を削除します。
削除選択メニューで選択中の行が見えなくなるため一時的に空行を挿入しますが、マクロ終了時に元に戻します。
検索方法は普通の文字検索のみサポートしています(正規表現や大文字小文字区別の検索ができません)。
(不十分な機能なので秀丸のキー操作の記録/再生を使った方がいいと思います)

【8. HTML変換】

開いているファイルをHTMLで表示できる形式に変換します。
行番号を付加する/しないを選択できます。行番号は5桁固定です(手抜き)。
カラー表示(VBScript,秀丸マクロ)をする/しないを選択できます。
始めてこの機能を使用すると、カラー定義ファイルが秀丸マクロディレクトリ内に作成されます。
カラー表示規則はカラー定義ファイルを編集することでカスタマイズすることができます。
カラー定義ファイルの仕様は下記の通りです。

■HTML変換機能 カラー定義(xxx.ini)の仕様

各セクション[keywordXXX]に各キーワードの検索文字列、フォントの色、
検索種別、強調種別を指定する。
XXXは3桁の数字で000から999まで、間なく昇順である必要がある。
この数値が小さいほどカラー表示の優先度が高くなる。

[各キーの仕様]
str : 検索文字列
  検索文字列を指定する。
color : フォントの色
  HTMLのFONTタグ内のCOLORに書く形式で記載する(RED,red,#FF0000など)。
searchopt : 検索種別
  秀丸マクロのsetsearch文に指定するフラグ形式(数値)で指定する。
  例えば、単語の検索、かつ、大文字小文字の区別ならば、0x01+0x02 = 0x03
  以下、秀丸マクロより引用。「×」のものはこのマクロで指定してはならない。
     ○単語の検索                   ビット0(0x01)
     ○大文字/小文字の区別          ビット1(0x02)
     ×置換かどうか                 ビット2(0x04)(置換の場合に1)
     ×置換の場合、問い合わせの有無 ビット3(0x08)
     ○正規表現                     ビット4(0x10)
     ○あいまい検索                 ビット5(0x20)
     ×ファイル名一覧だけ作成       ビット6(0x40)(grep用)
     ×次の秀丸も続けて検索         ビット7(0x80)
colopt : 強調種別
  強調種別を以下に示す数値で指定する。行を強調する場合、文字を強調より
  優先度が低いと、その行は強調されないので、優先度を注意する必要がある。
     0:文字を強調
     1:行を強調
     2:文字以降を強調(コメント用。)

[制限事項]
  正規表現で検索する場合、文字を強調を選択すると検索文字列の長さ分の文字が
  色づけされる。(行を強調、文字以降を強調では特に問題はない)
  制限解除のためには、検索結果文字列(数)取得ルーチンを作成する必要がある。

【9. 複数置換】

「textedit.MultiReplace.txt」に記述した置換規則により、開いているファイルの文字列を一括して置換します。
編集結果はマクロフォルダの「temp1.txt」に出力されます。
本機能の置換検索方法は単語検索を使用しています。
※「textedit.MultiReplace.txt」の作成方法
・マクロフォルダにファイルを作成する。
・各行の先頭から[置換前文字列] [タブ][置換後文字列]を隙間なく記載する。

【A. ファイル名一覧取得】

開いているファイルと同じディレクトリにあるファイル名一覧を取得します。
注意事項:0バイトのファイルは取得できません。

【B. 重複行削除機能】

開いているファイル内の重複した行を削除します。
ただし、重複行が隣接されている必要があります。
ファイルの内容をソートした後に利用すると良いかと思います。

【C. 複数grep機能】

「textedit.MultiGrep.txt」の各行に記述した文字列をキーとしてgrepを実行します。
編集結果はマクロフォルダの「temp1.txt」に出力されます。
grepのカレントフォルダはマクロを実行したファイルのフォルダとなります。
本機能の検索方法は正規表現を使用しています。
※「textedit.MultiGrep.txt」の作成方法
・マクロフォルダにファイルを作成する。
・各行に検索用文字列(正規表現)を記述する。

【D. 対応する括弧へ移動】

現在のカーソル位置にある括弧から、対応する括弧へ移動します。
メニューで終了を選択するまで交互に移動します。

【E. ソート(.NET)】

開いているファイルをソートします。
この機能を使用するには別途Microsoft .NET Framework 1.1をインストールしておく必要があります。

【F. Base64変換(.NET)】

開いているファイルをBase64でエンコード/デコードし、その結果を表示します。
この機能を使用するには別途Microsoft .NET Framework 1.1をインストールしておく必要があります。

【G. DNS名称解決(.NET)】

開いているファイルの各行に指定されたIPアドレス、DNS名称を解決し、その結果を表示します。
この機能を使用するには別途Microsoft .NET Framework 1.1をインストールしておく必要があります。

■注意事項

●一行の文字数が極端に大きいファイルは動作保証できません(およそ一行2000文字まで)。
  [詳細]
  秀丸(Version4.05)の折り返し文字数は最大2000文字です。
  これを越えた場合に編集結果が変になります。
  例えば、右削除(カラム)の場合に1950行以降の削除を指定した場合、一行2024文字の
  行では2000を越えた24文字が消えないというような感じです。
  およそ2000と書いたのは、マクロ内で文字を付加するような場合では、最初のファイルよりも
  一行の文字数が増えるため、実際にはもう少し小さくなる場合もあります。
  プログラムで対応することも可能ですが、手間の割りに、たいしたうれしさはないので
  今のところ修正するつもりはありません。
     手間    :マクロごとに考慮の仕方を変えなければならない。
               対応できないケースもあるかも…
     うれしさ:一行2000文字を越えるようなファイルは自動生成系のものが考えられるが、
               それをマクロで編集するようなケースはないはず(と思いたい)。
  秀丸の仕様(折り返し文字数)が変わったら、その都度、その最大値まで利用できるようにして
  対応していきます。

■免責

  万が一このプログラムを使用したことによるいかなる損害も責任を負いかねます。
  各自の責任でご利用ください。

■開発予定

   ・HTML出力の「patch」形式の色づけ処理
   ・「動作環境」-「ファイルの排他制御」-「読み書き禁止」を指定した場合のエラーチェックを追加
     (他のプログラムを利用した機能が使えなくなる)

■更新履歴

 v0.11 2005.02.18
   ・カラム位置指定で先頭が1になるように変更(コメント位置補正,右削除(カラム),左削除(カラム))
   ・キャンセル(Esc)を押した場合等でマクロ終了メッセージを出さないように変更
   ・サーチバッファの退避/回復処理をサーチ利用マクロでしか実行しないように変更
   ・指定値の保存処理を追加(左削除(文字数),左削除(カラム),右削除(文字数),右削除(カラム))
   ・プログラム開発者向けのマクロ「developer.mac」をひそかに作成開始

 v0.10 2005.02.17
   ・ソート機能をWindowsのsortコマンドに変更(こんなのがあるとは知らなかった…(-_-;)。
     更に実行方式をパイプ出力へ変更。
   ・Base64変換機能の実行方式をパイプ出力へ変更。
   ・DNS名称解決機能の実行方式をパイプ出力へ変更。

 v0.09 2005.02.16
   ・ソート機能をPerlから.NETでの実装へ変更。昇順降順の指定追加。

 v0.08 2005.02.15
   ・左削除(カラム)機能を追加
   ・Base64変換機能を追加
   ・DNS名称解決機能を追加
   ・重複行削除機能でファイルの最後に改行のみの行が複数ある場合にループする問題を修正。
   ・マクロ構造の変更(部品化のため分割)
   ・ディレクトリ構成の変更
   ・初期メニューの順番を独断と偏見で変更

 v0.07 2004.05.14
   ・対応する括弧へ移動を追加
   ・ソート機能を追加

 v0.06 2004.03.23
   ・重複行削除機能を追加
   ・複数grep機能を追加
   ・複数置換機能のファイル作成確認を追加
   ・一行2000文字のファイル編集まで可能にした(秀丸の仕様変更に対応)

 v0.05 2003.11.15
   ・折り返し文字数が少ない場合でも動作できるようにした(ただし1行2000文字の制限)
   ・HTML出力の秀丸マクロカラー表示で、数字付きのラベルが認識されない問題を修正した。
   ・複数置換機能が動作しない問題を修正した。
   ・複数置換の設定ファイル名の変更「MultiReplace.txt」→「textedit.MultiReplace.txt」
   ・その他コメントなどの細かい修正。

 v0.04 2003.10.28
   ・HTML変換でカラー表示機能(VBScript,秀丸マクロ)を追加
   ・ファイル名一覧取得機能を追加
   ・マクロ使用後に検索用の設定が変更されないようにした。

 v0.03 2003.08.27
   ・秀丸コメント位置補正機能において、コメントを左側に補正したいが、
     スペース以外の文字がある場合、位置補正のメニューを表示しないように修正。
     (無駄にメニューが表示されているだけだった)
   ・その他細かい修正。

 v0.02 2003.08.25
   ・複数置換機能を追加
   ・HTML変換機能に行番号付加機能を追加
   ・「秀丸で同じファイルを開く場合」の設定チェックを追加
   ・その他もろもろの修正。

 v0.01 2003.07.16
   ・外部に公開しても問題ない機能を抽出し再作成。
   ・HTML変換機能を追加