WZ editor manual

WZエディタ・マニュアル


[戻る]





          INDEX



■ 矩形処理


ブロック、ないし箱型処理とも云う、この機能は、(当然のことながら)ワープロソフトにもある。
だが、あまり一般には知られていないか、少なくとも頻繁には使われていないと思しい。これは、ワープロソフトでは、あるまとまった文章群に対して、それを純粋に文字列の集合、というふうに見なさないことと、ワープロソフトのユーザは、見た目の表示行に慣れているため、論理行での矩形処理、という考え方が上手く当てはまらないのが、理由ではないか、と思われる。かつて一度だけ、デフォルトのカット機能が矩形処理のワープロソフトを見たことがある(NECのLANWORD だったか)が、速やかに廃れたので、ワープロソフトユーザは、そのようなユースウェアがない、と判断される。
だが、この機能は、エディタでは割合、よく使う(MS−DOS時代のVzエディタでは、標準のマクロとして組み込まれていた)。

例えば、次のような文字列があったとする。
(これは、特定のフォルダ内を、「dir」コマンドを使って、ファイル一覧を取得し、それをリダイレクトでテキストファイルに出力したものである)


 ドライブ E のボリューム ラベルがありません。
 ボリューム シリアル番号は ACA6-FFB0 です

 E:\My Documents\temp3\zaq のディレクトリ

2005/01/04  16:14    <DIR>      .
2005/01/04  16:14    <DIR>       ..
2005/01/04  16:14                 0 dir.txt
2004/12/20  13:28             5,630 ffftp.htm
2004/12/20  10:44            56,975 ftp_001.jpg
2004/12/20  10:45            46,724 ftp_002.jpg
2004/12/20  10:45            33,264 ftp_003.jpg
2004/12/20  10:45            29,536 ftp_004.jpg
2004/12/20  10:45            58,090 ftp_005.jpg
2004/12/20  11:34            77,314 ftp_006.jpg
2004/12/20  13:25            32,023 ftp_007.jpg
2004/12/20  10:42           101,266 ftp_01.JPG
2004/12/20  10:42           219,551 ftp_02.JPG
2004/12/20  10:42            38,332 ftp_03.JPG
2004/12/20  10:42            34,599 ftp_04.JPG
2004/12/20  10:43           103,585 ftp_05.JPG
2004/12/20  10:43           168,552 ftp_06.JPG
2004/12/20  10:43            36,572 ftp_07.JPG
              16 個のファイル           1,042,013 バイト
               2 個のディレクトリ  37,996,371,968 バイトの空き領域

ここで、タイムスタンプやファイルサイズを除いた、ファイル名だけにしたい、と思ったと仮定する(あくまでも例題として)。
通常の範囲指定による削除機能を使うと、上記のような短い行数の文字列だけでも、煩瑣な処理を何度も繰り返すことになる。
矩形(ブロック)処理というのは、通常の範囲指定ではなく、任意の矩形でカットやコピーの範囲を指定して行う処理である。

Vzと異なり、マクロを読み込む操作も不要だ(Vzでは、起動時に「+ BLOCK」というオプションを使っていた)。
ALTキーを押下しながら、カーソルキーで範囲指定する。これだけでよい。

ただし、タイミングの問題で、通常の範囲指定になってしまうこともあるので、ALTキーを先に押下してから、そのままの状態で、マウスやカーソルキーで指定した方がよい。
下図のように、ALTキー押下しながら、範囲指定して――、

wz editor


この状態で、CTRL + Xキー押下によって「切り抜き(カット)」を行う。
別段、デリートキーでもバックスペースキーでも、削除するだけなら、それでも構わないのだが、ここでは、あえてカットを選ぶ。

すると、次のように、「ffftp.htm」から「ftp_07.jpg」まで、矩形で文字列が画面上から、削除される。

wz editor


削除するだけなら、これでもよいだろう。
しかし、矩形処理の面白いところは、その後にある。
この状態では、少し間が悪いので、画面で、末尾が不揃いになっている箇所――つまり「ffftp.htm」の行末――を、半角スペース2個で補ってやる(=半角にして、スペースキー2個分、空きを作る。こうしないと、半角2個分の間に、割り込んで挿入されてしまう。試してみると、判る)。

しかる後に、「ffftp.htm 」の後、つまり、半角スペース2個の後に、カーソルキーを当てて、今度は、CTRL + Vキー押下してやると――。

下図のように、ファイル名の後に、カットされた文字列が、矩形で挿入される。

wz editor


結果的に、ファイル名とタイムスタンプやファイルサイズが位置を入れ替えられた恰好になる。
ここでは、ファイル名の後に、何もスペースがないため、判りづらいが、矩形処理とは、このような文字列処理を可能にする操作である。

一般ユーザは、あまり矩形処理など、必要性を感じないかも知れないが、この機能が必要な状況もある(筆者の置かれた環境では、よくある)。

このままでは、これだけのことだが、例えば、ここで、ファイル名を第1レコード(列)として、タイムスタンプを第2レコード、ファイルサイズを第3レコードにしたスプレッドシートで作表したい、としたら――、

「JPG/jpg」を検索文字列に、その直後に「","」という区切り記号を置換機能で入れ、同様に、タイムスタンプの後の長い(半角の)空白行に着目して、そこにも区切り記号を入れ、前後をさらにダブルコーテーション(「"〜"」)で囲むことで、簡単に「CSVファイル」に換わる。CSVファイルはExcelなど表計算ソフトに読み込み可能だから、テキストファイルでありながら、すぐに役立つ形式である。
筆者の最近の経験では、PDFファイル上の表に記された文字列を、テキスト抽出で取り出したはいいが、複数の「列」との間が半角スペース1個でしか区切られていない。せめて半角2個分のスペースがあれば、よかったのだが、これだと、前の列の文字列内の空白行と差異性がない。これをHTML化する必要があって、さて、どうしたものか、と考え、結局、この矩形処理でまとめて1列をカットし、間に区切り記号を入れてペーストすることで、わりと簡単に、CSVファイル化することが出来た。


上記は、ほんの1例にすぎない。応用はいくらでも効くので、憶えておいて、損はない機能だと思う。

このページのトップに戻る

■ ソート


文字列をJISの配列順に行単位で並び替え(ソート)する機能である。
Excelなどを別途、立ち上げなくても、簡単なソーティングだけなら、エディタ上で可能だ。

この処理は、範囲指定して、その範囲内だけで行えるので、下図のように、文章の一部だけを、ソートすることも出来る。
「dir」コマンドで取得したファイルは、ファイルの名前順(昇順)になっているが、行頭はタイムスタンプであり、これは、まちまちである。これをソートしてみる。
範囲指定した後、メニューバーの「ツール」→「ソート」を選ぶ。

wz editor


下図のようなダイアログボックスが出る。
大体、デフォルトの数値でよいと思うが、よければ、OKボタンを押下する。

wz editor


少し、判りにくいが、下図の範囲指定内の文字列が、タイムスタンプの昇順(つまり行頭からのJIS配列順)に、並び替わっている。

wz editor


元来、プログラマ用のツールだったエディタに、こうした機能が付いているのは当然としても、それをなぜ、一般ユーザまでが必要とするか、というと、筆者の場合、主に、文字列を純粋にデータとして扱う作業もしており、その仕事の中では、こうした機能が便利なのである。

ワープロで同じようなことをするとしたら、たぶん、その箇所を表計算ソフトに読み込ませて、エキスポートしたり、その結果をカット&ペーストしたりするだろうが、その手間が省けるだけでも有りがたい。

このページのトップに戻る

■ 一時設定


これは、カスタマイズのところで説明した、「文書の設定」に関わることだが、エディタでは、ふつう、半角で80字くらいを目安に、画面設定している。あるいは、画面の右端で折り返す設定にしているはずである。

だが、時に、1行の字数が長い文字列を扱う場合など、一時的に、この設定を換えることがある。
具体的には、1行あたりの文字数が長大なデータベースから抽出してきたデータを扱っている時や、HTML 文書などを作成している時だが、通常の設定では具合が悪い場合があり、その際は、メニューバーの「表示」→「文書の設定」で「1行の文字数」を(「右端で折り返す」にチェックが入っていれば、それを外し)、下図のように「500」とかに換える(最大値は9999)。
そして、右下の「一時設定」ボタンを押下する。

wz editor


これによって、下図のように、視認性がよくなる(こともある)。
一時設定だから、その作業が終われば、元に戻せばよい。次回からの起動時には、通常の設定でWZは起動する。

wz editor


要は、臨機応変に、設定を変更でき、その時その時の条件に適した画面を得られる、というのがエディタの簡便な利点である、と思われたし。
(ワープロソフトで社内文書などを打っている時のことを想定してもらえば、理解されるだろうか。設定を換えただけで画面構成がメチャクチャになる可能性が高い。本来的に、WYSIWYG=画面みたままを印刷するワープロソフトと、文字列を情報として扱うエディタとの使い方の相違でもある)


このページのトップに戻る

■ 整形


これは、まとまった文章をメールで送信する際などに、1行の文字数を整える、といった場合に使う機能である。

添付ファイルにして送ればいいようなものだが、最近は、ウィルス対策などで、あまり無闇やたらと、ファイルを添付したくない。それに、相手が、その文字データを再利用しないならば、別段、テキストファイルをメール本文にしてもよいわけである。
時々、簡単な文書ファイルを、添付ファイルで送ってくる人がいて、開いてみたら、単なるテキストファイルだったりするので、これは困る。受信する側の手間を考えると、添付ファイルを展開して、さらに別なヴューアなり何なりで、そのファイルを見なければならない。そうまでして、中味がテキストだったら、忙しい人は怒る。添付ファイルは、本来、ワープロソフトのファイルとか画像データとか、バイナリファイルに限定すべきだろう。

それはともかく、その際、メーラの設定にも依るが(自動的に長い文章を改行して、送信してくれるものもあるが、相手先で、その字数を受信できない場合は、不体裁な結果になる)、出来るだけ、オーソドックスな1行の字数で送信した方がいいだろう。

WZエディタには、「自動整形モード」という機能があるが、筆者は、それに頼らず、別の方法で、この処理を行っている。
「自動整形モード」は、カスタマイズのところで説明した「文書の設定」→「整形」で、チェックを入れなければならないが、あまり上手くいかないことが多いので、より確実な、こちらの方法を採っている。

下図のような文書がある、とする。
改行は段落ごとで、1行(論理行)は、かなり長い。これをメールで送信するフォーマットに変換したい。

wz editor


メニューバーの「表示」→「文書の設定」→「文字数・行数」タブを開き、「1行の文字数」「73」にする(「右端で折り返す」のチェックは外す)。

wz editor


さて、次に、メニューバーの「ツール」→「テキストの変換」を選ぶ。

wz editor


下図のようなダイアログボックスが出る。

wz editor


デフォルトでは、「クリップボードにコピー」にチェックが入っている。
筆者は、元ファイルを全文コピーした別ファイルを作り、直接、テキストファイルを整形することが多いので、ここでは、「テキストを直接変換」にチェックを入れる(そうでない場合は、デフォルトでも構わないが、どっちみちクリップボードに転写したデータをエディタに読み込む必要があるので、同じことだろう)。

wz editor


チェックを入れたら、デフォルトでは、変換元は「プレーンテキスト」、変換先は「改行付きテキスト」なので、そのまま、OKボタンを押下する。

下図のように、大体、半角73字(全角で37字程度)に整形される(行末の改行マークに注目)。

wz editor


これは、パソコン通信時代から、メールの標準的な1行の字数である。当時は、この長さがネチケット(ネット上の礼儀)であった。
(1行の文字数が半角73文字(つまり全角36文字程)というのは、相手先が、どのようなメーラでも、これは見苦しくなく受信できる長さである )
現在は、通信ソフトも進化しており、自動的に改行なしの文章でも、適当に整形してくれるものもあるが、たとえ、自分の使っているメーラが、自動整形で送受信できる環境にあったとしても、あくまでも、メールは、相手があって送るものなのだから、こうした心づかいは忘れないようにしたい。



ついでながら、では、この逆はどうするか? ということについても付言しておく。
要するに、各行末ごとに改行マークが入ってしまっている文書(昔のワープロ専用機種などで作成した文書ファイルに、そういうモノがある)や、メールなどで送られてきた文章を、必要な部分だけ段落単位で改行を残して、不要な改行マーク(制御コード)を除く作業である。

これは、丹念にやる方法と、ある程度の危険は覚悟で、一括して置換機能で行う方法とがある。筆者は、むろん、後者を選ぶ。
どうするか、というと、まず、対象となるべき文書によって、出来るものと出来ないものがある。出来る文書は、冒頭に字下げの全角スペースがあり、その直前の行末に「。」が入っているようなものである。

一意的な差異があれば、一括置換は可能なので、ここでは、まず、最初に、全部の改行マーク(制御コード)を取ってしまう。極端に云えば、1つの文書内に改行マークが1つしかない長大な文字列ファイルを作るのである。当然、この処理は少し時間がかかる。だが、その間、他の仕事でもしていればいいので、構わない。

しかる後に、文中に「。」があり、その直後に全角スペースがある箇所だけを、改行するのだ。
これは、今まで、あえて触れないできた「正規表現」による置換を利用するしかない。正規表現では、改行は「\n」で表される。
つまり、最初に、全部の改行マークを除去するには、置換機能で、検索文字列に「\n」を、置換文字列をブランクにして、OKボタン押下する。 これによって、文書内の全ての改行マークが除去される。

次に、置換機能で、検索文字列に「。□」を、置換文字列に「。\n□」を入力して、OKボタン押下する(「□」は全角スペースを意味する)。
これによって、字下げされた行(の直前の行)だけが、改行される。

もちろん、危険を覚悟で、と云ったように、これだけでは全面的に処理が上手くはいかない(だから作業はバックアップファイルで行う)。
例えば、カッコで終わるセリフ部分など、行末に「。」を入れないで、改行している文章もあるだろうし、人によっては、「そう思ったのだ……。□□しかし、」などと、同じ段落内で、余計な空白スペースを入れることもある。これらは、1個ずつ、目で見て、手でチェックしないと、どうしようもない。
しかし、上記の方法を採った方が、圧倒的に効率的であることは確かだ。たとえ、事後のチェックが必要になったとしても、かなり長い文書であれば、少なくとも、1個ずつ、改行マークを手で除去するなどと云った方法よりは、早い。

逆に、行末の「。」を無視して、全角スペースの字下げだけに注目して、一括置換すればいいか、というと、今度は、別な支障が出てくる。
「うわっ!□と叫んだ」や「なぜ?□と思った」というふうに、エクスクラメーション、クエスチョンマークの直後は、たいてい1字分、空けるので、こうした箇所で、改行されてしまうのだ。まぁ、こちらの方法を採って、それらの箇所をチェックする、ということも可能であるが。

いずれにせよ、こうした方法論、処理の仕方を知っていると、そのような作業に際会した場合、わりあい戸惑うことなく、仕事をすることが出来るだろう。やる、やらないは別として、そういう機能や方法があることを知っている、ということが重要である。


このページのトップに戻る




△ Literacy  ▲General Index
<< Prev      Next >>




Last Updated: 2007.05.07