home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2002 April
/
VPR0204A.ISO
/
OLS
/
GREP109
/
grep109.lzh
/
grep.txt
< prev
next >
Wrap
Text File
|
2001-12-18
|
15KB
|
325 lines
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ grep 拡張マクロ Ver.1.09 ┃
┃ (検索拡張シリーズ Vol.2) ┃
┃ Presented by ひろ (BXN02350@nifty.ne.jp) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
●0 目次 (秀丸の「タグジャンプ (デフォルトで F10)」 でジャンプ可能)
grep.txt(31): ●1 初めに
grep.txt(36): ●2 動作環境
grep.txt(41): ●3 このマクロの機能
grep.txt(64): ●4 同梱してあるファイル
grep.txt(95): ●5 利用方法
grep.txt(96): ●●5.1 インストール
grep.txt(109): ●●5.2 ファイルタイプ別の設定
grep.txt(123): ●●5.3 使用方法
grep.txt(143): ●●5.4 マクロの登録
grep.txt(151): ●●5.5 キーの割り当て
grep.txt(157): ●●5.6 インターフェースの変更
grep.txt(166): ●●5.7 マクロの削除
grep.txt(177): ●●5.8 注意点
grep.txt(195): ●●5.9 バイナリファイルとして扱う拡張子の設定
grep.txt(200): ●●5.10 バージョンアップ
grep.txt(212): ●6 既知の問題点
grep.txt(218): ●7 謝辞
grep.txt(223): ●8 著作権・連絡先
grep.txt(249): ●9 送金方法
grep.txt(270): ●10 変更履歴 (×はバグ修正)
●1 初めに
ダウンロードして頂きありがとうございます。これは秀丸の持っている複数のファイル
から任意の文字列を検索する grep 機能を拡張するマクロです。
●2 動作環境
動作確認は、秀丸 Ver.3.09+Windows98+田楽 DLL Ver.1.77 (必須ではない) で行って
いますが、他の Windows 系 OS でも動作すると思います。
●3 このマクロの機能
(1)ブロック出力
秀丸で定義されている強調行をブロック単位として、検索文字列を含むブロックを出力
します。これにより予め強調行を定義しておけば、ファーラムの発言、メール、プログラ
ムのサブルーチンや関数等を出力することが出来ます。
(2)前後行出力
grep で見つかった行の前後を合わせて出力する機能
(3)絞り込み検索
「ファイル名一覧だけ作成」が ON ので実行した場合は、ファイル単位で絞り込みを行
います。それ以外では出力された結果内で絞り込みを行います。
(4)改行、行頭空白、引用記号を無視するような正規表現を自動生成
例えば「秀丸エディタ」を検索したい場合、
秀丸
エディタ
というように途中に改行が含まれているケースもヒットさせたい場合、正規表現で「秀
\n?丸\n?エ\n?デ\n?ィ\n?タ」とすれば改行の有無に関わらず検索が行えます。この様な
文字列を予め無視する文字列を設定しておくとこにより、自動生成して検索を行います。
同梱してある searchEx.ini には「改行」「改行と行頭空白」「改行と引用記号」の場
合が既に登録されています。
(5)ブロック出力・前後行出力とファイル名一覧だけ作成の絞り込み検索では設定した拡
張子を除外する機能 (バイナリファイル対策)
●4 同梱してあるファイル
grep.txt ----------------------- このファイル
grep.mac ----------------------- マクロ本体
grep.hilight ------------------- grep 出力用の強調定義ファイル
searchEx.ini ------------------- 改行、行頭空白、引用記号を無視の設定ファイル
サンプル
searchEx +---------------------- マクロから呼び出されすサブマクロが納められて
| いる
+- blockGrep.mac ------ ブロック出力用サブマクロ
+- CloseFile.mac ------ 拡張機能利用時に開いたファイルを閉じる
+- combo.mac ---------- ダイアログの一部を作成
+- grepAnd.mac -------- 絞り込み検索用サブマクロ
+- grepAndDlg.mac ----- 絞り込み検索用ダイアログを作成
+- grepAndMenu.mac ---- 絞り込み検索用メニューを作成
+- grepDialog.mac ----- 拡張 grep ダイアログ作成
+- grepEx.mac --------- 拡張 grep ダイアログ作成
+- grepExMenu.mac ----- 拡張 grep メニュー作成
+- history.mac -------- 検索文字列の履歴を作成
+- lineGrep.mac ------- 前後行出力 grep
+- MakeSearch.mac ----- 改行無視といった文字列生成サブマクロ
+- OpenFile.mac ------- 拡張機能利用のためファイルを開く
+- SetActive.mac ------ 拡張機能利用のためファイルをアクティブにする
+- string.mac --------- 改行、行頭空白、引用記号を無視メニュー
+- stringDlg.mac ------ 改行、行頭空白、引用記号を無視ダイアログ
+- WriteExtention.mac - 設定ファイルに拡張子の情報を書き込む
hilight +---------------------- 強調定義ファイルサンプルフォルダ
+- @nifty.hilight ---- @nifty 用強調定義ファイル
+- HideNet.hilight ---- HideNet 用強調定義ファイル
+- SHOWPC.hilight ----- SHOWPC Vertual Format 用強調定義ファイル
●5 利用方法
●●5.1 インストール
(1)解凍して出来る。grep.mac と searchEx (<- フォルダ名です) をマクロ用フォル
ダに移動してください。
ここでマクロ用フォルダとは、[設定]→[秀丸エディタの動作環境]→[パス]→[環境]
の [マクロ用のフォルダ] で設定しているフォルダです。設定をしていない場合、秀丸を
インストールしたフォルダ (例 C:\Program Files\Hidemaru) がマクロ用フォルダになり
ます。
(2)grep.hilight, net.hilight を秀丸をインストールしたフォルダに移動
(3)拙作の検索拡張シリーズをお使いでなければ、searchEx.ini を (1) で移動した
searchEx フォルダに移動してください。
これらの操作時に、同一ファイルが存在する場合、ファイルが新しい方が残るようにし
てください。
●●5.2 ファイルタイプ別の設定
(1)秀丸で通常の grep を行います。
(2)「その他」→「ファイルタイプ別の設定」で [設定のリスト]→[新規] で名前を
「grep」とします。
(3)「~の設定」から先ほど作った「grep」を選択
(4)「強調」タブを選択し、「強調表示」を ON にし、[読み込み] で grep.hilight を選
択します
(5)「保存・読み込み」タブを選択し、「保存するときの変換」を「タブを空白に変換す
る」以外に指定する
(6)出力が UNICODE の場合があるので、「その他」タブを選択し、「Unicodeを使用可能
にする」「全ての文字コード」を ON にしてください。
(7)必須ではありませんが、「カラー」タブの「行の強調表示1」「特に強調表示1」は同
じ色に指定しておいたほうが見やすくなります。
●●5.3 使用方法
メニューの「マクロ」→「マクロの実行」で grep.mac を指定して、マクロを実行し、
検索する文字列やオプションを設定して利用してください。この時ダイアログリストに、
grep.mac がなければ、インストール方法が間違っています。前節
grep.txt(96):「●●5.1 インストール」←タグジャンプ利用可
を参考に設定をやり直してください。
マクロを実行し検索を始めると、メニューもしくはダイアログが表示されるので、通常
の grep と同じように検索文字列、検索するフォルダ、ファイルや検索オプションを指定
してください。
拡張 grep 機能の内「ブロック出力」を使用する場合は、必要なら強調定義ファイルを
指定してください。「前後行出力」の場合は追加する前後の行数、また目印に強調行を追
加出力する場合は、強調定義ファイルを指定し、フォーラムの発言などフォーラムの番号
など以外にファーラム名などを出力したい場合、「強調行1の追加出力をする」を ON に
してください。またどちらの場合も強調行に関する部分は、予め強調行ファイルを作成し
たり、各々のファイルタイプ別に「ファイルタイプ別の設定」を行う必要があります。後
者の設定行っていれば、「(自動)」を選択しておけばよいです。強調行の設定についての
詳細は、秀丸のヘルプを参考にして下さい。また代表的なプログラミング言語の強調定義
ファイルは、秀まるお氏の WEB サイト (http:/www/hidemaruo.xaxon.co.jp/) のライブ
ラリに登録されています。
●●5.4 マクロの登録
毎回 grep.mac を指定するのが面倒な場合は、[マクロ]→[マクロ登録] で適当な場所
に、タイトルはなんでも構いませんので、ファイル名に grep.mac を登録してください。
次節
grep.txt(101):「●●5.5キーの割り当て」←タグジャンプ利用可
を行う場合は、「マクロ1~50」に設定してください。
メニューから簡単にマクロの機能を呼び出すことが出来ます。
●●5.5 キーの割り当て
まず前節
grep.txt(94):「●●5.3 マクロの登録」←タグジャンプ利用可
が終わっていることが前提になります。
「その他」→「秀丸エディタのキーの割り当て」で設定してください。
●●5.6 インターフェースの変更
このマクロでは杉浦氏が公開されている「田楽 DLL」
(http://www.ceres.dti.ne.jp/~sugiura/index.html で入手できます。)
Ver.1.70 以上を導入することにより、メニューによる検索設定ではなくダイアログによ
る設定が可能になります。
同梱されているファイルで必要となるファイルは、DengakuDLL.dll だけです。秀丸を
インストールしたフォルダ (例 C:\Program Files\Hidemaru) に、DengakuDLL.dll を移
動してください。
●●5.7 マクロの削除
(1)ファイル削除
grep.txt(96):「●●5.1 インストール」←タグジャンプ利用可
を参考にして、コピーしたファイルを削除してください。
(2)マクロ登録削除
grep.txt(143):「●●5.4 マクロの登録」←タグジャンプ利用可
を参考にして、マクロ登録を削除してください。
(3)キー登録削除
grep.txt(151):「●●5.5 キーの割り当て」←タグジャンプ利用可
を参考にして、キーの割り当てを解除してください。
●●5.8 注意点
(1)改行無視等の機能は先に書いた通り、正規表現を持ちているだけです。正規表現の詳
細については、秀丸のヘルプをご覧頂くとして、よく分からない方は、検索文字列に
「\[]()$.*+?」を使用する場合は、「\」を付けて、それぞれ「\\」「\[」「\]」「\(」
「\)」「\$」「\.」「\*」「\+」「\?」としてください。
(2)改行無視等の機能を使っている場合、文字列を自動生成することにより文字列が長く
なる過ぎてしまったり、正規表現が複雑になって検索に失敗することが有ります。
(3)ダイアログ表示では、検索文字列に履歴が存在していますが、秀丸の履歴と同期して
いません。
(4)設定している引用は、「>|)]}>|)]}」だけで、
hoge> 引用内容
といった引用は含まれていません。この様な引用を含みたい場合は、ユーザ自ら設定をし
直してください。
(5)ダイアログの一部が上手く表示が上手くいったり、いかなかったりするのはメモリー
不足が原因です。コンピュータを再起動するなどして、メモリーをクリアな状態にしてく
ださい。
●●5.9 バイナリファイルとして扱う拡張子の設定
searchEx.ini の BINARY セクションに
exe=1
の要領で加えます。0 の場合や無登録の場合は、バイナリファイルとして扱いません。
●●5.10 バージョンアップ
同梱してある grep.mac と searchEx (フォルダ) をマクロ用フォルダに、
grep.hilight, net.hilight を秀丸をインストールしたフォルダに上書きしてください。
Ver.1.02 以前をお使いの方へ
同梱されている searchEx.ini の
[BINARY]
という行以降を御自分の searchEx.ini (マクロ用フォルダ内の searchEx というフォル
ダにあるはずです) の末尾に加えてください。
grep.txt(109):「●●5.2 ファイルタイプ別の設定」←タグジャンプ利用可
の (6) の設定を行ってください。
●6 既知の問題点
・マクロ実行中に別のウィンドを操作すると、マクロが途中で止まってしまう
・クリップボードの履歴が取れなくなる事がある
どのタイミングでそうなっているか調査中 (2001/08/31)
●7 謝辞
すばらしいソフトウェア、秀丸を提供してくださった秀まるお氏、また田楽 DLL を提
供してくださった杉浦両氏に感謝します。
●8 著作権・連絡先
著作権は私、ひろが所持しています。配布は自由に行って頂いて構いませんが、不特
定多数に配布する場合は、前もって連絡して頂けるとありがたいです。(強制ではありま
せん。)
要望、質問やバグ報告は各々下記充てに御送り下さい (現在標準のメーラーとし
ているものが対応していれば、ダブル・クリックや秀丸のダイレクトタグジャンプ (初期
設定で [Ctrl] + [F10]) で宛先、題名まで入力されます。)
要望:mailto:BXN02350@nifty.ne.jp?subject=grep.mac%20Ver.1.09%20request
質問:mailto:BXN02350@nifty.ne.jp?subject=grep.mac%20Ver.1.09%20question
バグ:mailto:BXN02350@nifty.ne.jp?subject=grep.mac%20Ver.1.09%20bug
ただしお答えするのは本マクロについてだけです。
またメールを送られるときは、マクロを最新版にしてください。ヴァージョン・アップ
で機能が増えていたり、修正が完了している場合が有ります。それでも改善されない場合
は、必ずお使いの Windows の種類、秀丸のヴァージョン、利用している本マクロの
ヴァージョン、及び田楽 DLL を導入している場合はそのヴァージョンをお知らせくだ
さい。
マクロの利用方法・作成など、秀丸一般的な事については、秀 Net の「秀丸サポート
フォーラム」(HIDESOFT/MES/2) へお願いします。
このマクロを使用された事に起因する障害・損害について、このマクロの作
者である、私(ひろ:BXN02350@niftyserve.or.jp)は、免責させて戴きますので、
その旨ご了解の上でご使用下さい。改造したものを配布する事はご遠慮下さい。
●9 送金方法
このマクロは、分類上シェアウェアになっていますが、試用制限や試用期限は一切あり
ません。送金歓迎の free ware です。使ってみて「是非お礼がしたい」という、奇特な
方が居られたら、送金して頂けると大変助かります。ただし送金して頂いた方の要望を優
先的に行うことも一切しません。
登録料 (カンパ代) は、一口 500 円ですが、何口送っていただいても構いません(^^)。
また別途手数料などがかかるため、
500(登録料)+100(手数料)+30(消費税)=630 [円]
かかります。
送金方法は Internet の Vector のシェアレジだけが利用できます。送金番号は
「SR024717」ですので、
https://sw.vector.co.jp/swreg/step1.reserve?srno=SR024717
から送金して下さい。シェアレジの利用方法は
http://www.vector.co.jp/swreg/swreg.html
を参照して下さい。
なお、password や ID はありませんので、そのままご使用下さい。
●10 変更履歴 (×はバグ修正)
○2001/07/10 Ver.1.00
・初めての公開 version
○2001/08/15 Ver.1.01
・何故かドキュメントに Ver.1.20 としていた
×絞り込む検索の条件設定がいいかげんだった
○2001/08/21 Ver.1.02
・余分な「;」を削除
×フルパス出力の場合に不具合が合った
○2001/08/29 Ver.1.03
・grep.hilight の変更 (/をフォルダの区切りとして許可)
×拡張子がない場合、ファイル名にデフォルトで指定する文字列が的確でなかった
×selectfunc では見つかった行を含むブロックが選択されない場合がある
強調行の表示が無く、C 言語の関数が強調行として扱われ、且つ認識される関数内
に見つかった行が無い場合、無限ループに入った
・ブロック出力・前後行出力、ファイル名一覧だけ作成・では設定した拡張子を除外
する機能 (バイナリファイル対策)
○2001/08/30 Ver.1.04
×全く関係ない部分を出力してしまうバグ
無限ループの処理を加えた事による副作用
○2001/09/03 Ver.1.05
・ドキュメント修正
・なるべく進行状態をキャプションに表示
・一時的に開いているウィンドは非表示に
・秀丸がインストールされていれば、鶴亀からも呼び出し可能に
×前後号の出力で、折り返されている行の場合無限ループ
・ブロック、前後行出力で検索対称ファイルが更新されていた、出来るだけ現在の内容と
合うようにする
○2001/10/10 Ver.1.06
・対応ヴァージョンを Ver.3.09 以上となった
・ブロック、前後行出力で検索対称ファイルが更新されている場合、出来るだけ現在の内
容と合うようにしたのを強化
×終了条件が甘かった (Ver.1.03 のバイナリファイル対策の為に発生した)
×「(現在の内容)」の場合、拡張オプションは動作しなかった (仕様のつもりだった)
しかし、相変わらずファイル名が付いていないときはダメ
×ファイルリストの絞り込みが動かなくなっていた
・拡張子は filetype (秀丸 Ver.3.09 で追加) を使用するように変更
・途中で中断するとおかしくなるので、disablebreak を使用する
・余分な disableinvert を削除
×ブロック出力で、``「行末<->次の行の先頭」移動の禁止'' が ON の場合、上手く検
索できないケースが有った
・net.hilight 削除→hilight フォルダに @nifty.hilight, HideNet.hilight を同梱
×強調表示ファイルのデフォルトがずれることが有った
×メニューによる UI の場合、拡張機能がまともに動いていなかった。
・画面の書き換えが今一つだった。
○2001/11/29 Ver.1.07
・対応ヴァージョンを Ver.3.11 以上となった
→マクロの Ver.1.05 以前を Ver.3.11 で動作させると、無限ループになる場合がある
・ブロック出力の方法を若干見直し
結果としてファイル全体がブロックとなる場合、ファイルを読み込むようにした
○2001/12/02 Ver.1.08
・ブロック出力の方法を若干手直し
×ブロック出力で、強調行自体に検索語があると無限ループ
○2001/12/18 Ver.1.09
×ブロック出力でファイルを読み込みとなる場合で上手く動作しない場合有り