表紙 へ

[PREV][QX・まにあわせ主義 INDEX][NEXT]

QX の 導入 (2) ― 付属ツール

インデックス

付属ツール の 使いかた

QTClip の 使いかた

そのうち書きます。でも、下記のページがあるので、じゅうぶんかも。

QXユーザーの島田さんのところに、【 QTClip の使い方 】 というページがあります。画像が多いのですが、とってもよくわかりますので、参考にしてください。

QGrep の 使いかた

GREP というのは、ディスク上のファイルについて、エディタなどで開くことなく、外から内容を検索して、特定の単語やフレーズを探すツールの総称です。テキストファイルを検索します。araken さんの QGrep はフリーウェアであるうえに、AがあるけどBがない行、などという複雑な検索もでき、LZH ファイルも扱えるので、QXユーザー以外にも愛用者が多い、スグレモノです。

起動するには、QXのメニューの 「QGrep 起動」を実行、あるいは通常のウィンドウズのアプリケーションと同じように起動します。

QGrep をQXから起動した場合(そうでなくても「その他」に下で述べた設定がしてあれば)、検索結果がQXの「無題ファイル」として画面表示されます。各行の先頭に探している単語が見つかったファイルの名前と、見つかった行(論理行)がついています。タグジャンプというのはこの情報をもとに、エディタがそのファイルのその行を開くことです。QXのデフォルトのメニューにも「タグジャンプ」が入っています。

ここではひじょうに基本的な使いかたを説明します。詳しくは QGrep のヘルプを参照してください。

QGrep を起動したら、「検索文字列」に探したい単語などを入れます。ここには「正規表現」も使えますが、そういうのは詳しい人向けなので、このウィンドウの右の「正規表現」のところはとりあえずオフにしておいたほうがよいかも。「\.+」などを特殊文字(特別な意味がある文字)として読んでしまいます。そんな変わった文字は検索しない、という場合はどっちでもだいじょうぶです。

「検索ファイル名」には通常は「*.*」を入れておくのがいいでしょうか。これで「指定した場所にあるものなんでも全部」になります。ここでたとえば、拡張子が「TXT」のファイルだけを検索対象にしたいときは、「*.TXT」と指定します。

ディレクトリのウィンドウでは、探す場所、すなわちフォルダを指定します。

右側には設定項目が並んでいますが、「ファイル名・行番号を出力」、「ファイル名はフルパスで出力」はオンにします。フォルダのなかにさらにフォルダがあって、その中も検索したいときは、さらに「階層下も検索」もチェックしてください。

「ファイル一覧」ボタンを押すと、現在の設定で検索の対象となるファイルのリストが表示されるので、意図したとおりになっているか確認できます。「読み込み」は、過去にファイルのリストを保存しておいた場合にのみ、そのリストを読み込むので、ふつうは関係ありません。

「その他」の「終了時コマンド」に「QXW32.EXE」と「-C」が設定されているのを確認したほうがよいかもしれません。(QX以外のエディタで検索結果を表示するには、そのエディタをパスつきでここに指定します。) また、その下の「バイナリと思われるファイルはスキップ」にはチェックを入れましょう。

「検索開始」ボタンで検索が始まります。

QGrep の検索結果から シングルクリック でファイルにとぶには。

QGrep の「その他」の設定で、「ファイル名の前に見出しを出力」の項目に好きな記号など(たとえば ◆ )を指定します。ここをオンにして文字列を設定すると、検索結果の表示でファイル名のあとの「:」のところで改行されるようになります。この同じ記号をキーワードファイル(通常使用されるのは、QXフォルダの KEYWORD.TXT)に追加し、同時に「共通設定」でキーワードの色を設定すれば、検索結果で目立つ表示になります。

マクロフォルダにある QACLICK.MAC につぎのようなプロシージャ(一連の命令)を追加すると、ファイル名と行数のある行の上でシングルクリックするだけでタグジャンプが実行されます。(すでに proc AutoClicked がある場合は、if を使った分岐で処理するように書き加えてください。)

proc AutoClicked
    dim s$
    if @Pathname$ = "(無題)" then
        s$ = @TextCr$(@Line)
        if left$(s$,1) = "◆" and right$(s$,1) = ":" then
            @tagjump
            exit proc
        end if
    end if
end proc

QGrep の「前後...」のボタンのなかの、マッチした行の前後も表示、がオンになっていると、QGrep が吐き出す文字列が変化してきます。これにも対応するには上記の2つめ if の行の「and」から後の部分を削除してください。

【 さらに発展 】

タグジャンプで目的の文字列のある行の先頭には、簡単にジャンプできます。が、プログラムなどではない通常の文書だと、論理行の1行というのは1段落(パラグラフ)に相当するので、ここから一目で目的の文字列を探すのはなかなかむずかしいものがあります。

ジャンプすると同時に、目的の文字列のところにカーソルが移動してくれないか。そこで上の自動実行マクロにさらに命令を追加してみました。これは QGREP の「その他」の設定で「マッチした場所に文字列を出力」の設定をしておく必要があり、またマクロのほうでもそれに合わせた書き換えが必要です。このマクロでは、カーソル移動した先の文字コードを読んで、そこが2バイトコード(日本語)ならIMEがオンになる機能も追加しています。

proc AutoClicked
    dim s$, n
    if @Pathname$ = "(無題)" then
        s$ = @TextCr$(@Line)
        '次行で QGREP の設定「その他」のファイル名見出しを設定
        if left$(s$,1) = "◆" and right$(s$,1) = ":" then
            s$ = @TextCr$(@Line + 1)
        '次行で QGREP の設定「その他」のマッチした場所文字列を設定
            n = instrb(s$, "◆")
            @Tagjump
            @BytePosCr = n
            if @Code > &h7E then
                imemode 1
            else
                imemode 2
            end if
            exit proc
        end if
    end if
end proc

QGrepブロック出力 を使う。

「ブロック出力」というのは、「検索する文字列」を含む、一定の文字列ではさまれた複数の行を、ブロックとして書き出す機能です。パソコン通信のログから、ある話題についての発言のみを書き出すのに、たいへん便利です。

たとえば、ニフティのまとめ読み(MRE)機能で取得したログから、「QGREP」という文字列のある発言だけを切り出す場合、このように実行します。

「ブロック...」ボタンを押して、「ブロック出力」にチェックを入れる。パターン1をチェック。(パターン1はニフティ、パターン2は PC-VAN、パターン3はC言語プログラム用のパターンがあらかじめ設定してあります。) 「OK」を押し、メイン設定画面に戻って検索文字列を「QGREP」を指定、大文字・小文字や半角・全角など、どういう表記でもヒットさせるためには「あいまい検索」にチェックを入れて、「検索実行」。

また、EdMax や Becky! のメールログ(*.mbx)もシンプルな形式のテキストファイルなので、あるキーワードを含むメール、という条件でメール全体をとってくることができます。このときは「ブロック...」で新しいパターンを作ります。

上記のメーラーのログでは、ひとつのメールが終わるごとに「.」だけの行がきます。そこで空いている「パターン5」などのページを開き、「開始行/終了行」のパターンに「^\.$」と設定します。これは、「行頭からすぐピリオド、そしてすぐ行末」という正規表現です。正規表現で単に「.」としますと「なんでもいいから1文字」という意味なので、「\」をつけて正規表現の「.」ではなく、たんなるピリオドであるという指定をしています。

さらに、このパターン設定ウィンドウの左にある「End」ボックスにチェックを入れ、このパターンがひとつのブロックの「終了行」である、という指示をします。(このチェックがない場合、このパターンは「開始行」に使用されます。)

「OK」でメインのページに戻ってあとは普通に検索します。

同じようなことが、ニフティ専用の通信ソフト AirCraft のつくる会議室ごとのログについてもできます。このときはパターンは「^ \x08$」で、やはり「終了行」なので「End」にチェックを入れます。最初に挙げたニフティのログの例より明快なタグですので、扱いやすいのでは。切り分けしていない生ログについては上記のとおりの方法で。

QXの設定 ― 間違いやすいこんなこと

書式設定をしたのに、次に起動したら消えている。

書式設定はユーザーが「保存」を実行しないかぎり、その場限りとなります。保存するには「書式設定」−「設定の保存」で、設定する場所(1から15までで選ぶ。1から優先的に適用される)を選び、そこで提示されるダイアログで設定した書式を適用するファイル(拡張子、または、さらに詳しく「*」や「?」を使ってファイル名で指定)の種類を指定して、「保存」ボタンを押します。

メモ機能を使いたいので、「共通設定」−「色」でわかりやすい色ををしたのに、画面で指定の色で表示されない。

QXの「書式設定」には「テキスト」−「テキスト種別」があり、この種別で「一般テキスト」を選んだときだけ、種別選択ウィンドウの下の「メモ」にチェックが入れられるようになります。ここにチェックを入れないと、メモが地の文と違う色で表示されるようになりません。設定をしたら、上記のように保存を忘れずに。

印刷ダイアログで「印刷」ボタンを押しても実行されない。

1行字数が多すぎるのでは? そのときは字数設定のところにある「字数調整」ボタンを押すと、適当な字数まで減らしてくれます。それから実行します。設定を保存するときは、「書式メニュー」から「印刷書式保存」を実行するのを忘れずに。

以下、準備中です。

[PREV][QX・まにあわせ主義 INDEX][NEXT]