何をしようとしているのか(こっちのが簡単かも版)


編集操作の自動化ということ

パソコンでキーボードに触っている多くのとき、ユーザーがしているのは文字の入力です。今、この文章を書いている私も、こうして文字を入力しているわけです。ところが、文字を入力していると、全半角入り乱れているアルファベットを半角に統一したいとか、長い一行を適当なところでちょん切って、各行の先頭に引用記号の"> "を追加したいといった、手作業でやるのが馬鹿らしく感じられる編集操作をしたくなるときがあります。こういうとき、高機能テキストエディタと呼ばれるようなプログラムを使っていると、あれこれ便利なコマンドがあって、そういう作業を自動化してくれます。

具体的には、まずそういった編集操作をする対象となる部分を「選択」して(マウスでここからここまでというように指して表示を反転させて)、何とかメニューの何とかコマンドを選択すると、その部分がぱっと書き換わるわけです。

どのプログラムでも使えるダイアログ

しかし、そういうコマンドがあるプログラムは限られていますし、同じ機能のコマンドがあったとしても、プログラムによって使い勝手が異なります。また、意外な盲点ですが、たいていのダイアログボックスというのは、何がしかの設定をしてから「OK」ボタンを押すまで、文章を編集できなくなってしまいます。そして、どんなにコマンドが充実しているエディタでも、できることには限りがあります。

たとえば、ちょっとした用語集を作っているものとしましょう。たとえば、こんな感じのものです。

 

society 社会

law     法律

economy 経済

politics 政治

 

入力する都合から言えば、末尾にどんどん追加していった方が楽ですが、あとで見るときには、アルファベット順に並んでいる方が便利でしょう。そこで、この4行をマウスで選択して、各行をアルファベット順に並べてくれるコマンドを探し……見つかれば目出度いのですが、プログラムによってはそういうコマンドはどこにもないかもしれません。

こういうときにPCKがあれば、次のようなダイアログボックスをオープンした上で、

 

 

その4行を「コピー」し、このダイアログボックスの「実行」ボタンを押してから、エディタプログラムに戻り、「貼り付け」を行えば、次のようにアルファベット順に並べ替えられます.

 

economy 経済

law     法律

politics 政治

society 社会

 

コピーしてからダイアログボックスをオープンするのでも、ダイアログボックスをオープンしてからコピーするのでも、順番はどちらでも構いません。

このダイアログボックスは、エディタプログラムのメニューコマンドからオープンできるわけではなく、デスクトップアイコンとか、スタートメニューとかに登録しておいてそこから起動するとか(登録方法は、: pcksetupを参照)、: pipe lineという胴元的存在のプログラムから起動するとかするわけで、正直なところ、起動するまでは面倒です(もっとも、起動が面倒だという難点については色々と対策してありますので、後で説明しましょう)。しかし、ほかのダイアログボックスとは異なり、1度実行しても、クローズしてしまうわけではありませんし、オープンしたままエディタに戻ることもできます。ですから、1度オープンしてしまえばこちらのもので、同じ作業を繰り返し実行できます。しかも、「コピー」、「貼り付け」は、Microsoft社の指導で、どのプログラムでも右から2番目のメニューに必ず含まれていますし、[Ctrl]キーを押しながら[C]キーを押せば「コピー」、[Ctrl]キーを押しながら[V]キーを押せば「貼り付け」になるように統一されていますから、慣れてしまえば楽です(たぶん)。こっちのエディタのデータを変形してあっちの別のプログラムに貼り付けるということもできます。

まあ、いずれにしても、並べ替えコマンドがあるエディタを使っているなら、そちらを使った方がやはり楽かとは思いますが、エディタなどに金を使うのはばからしいと、システムに最初から入っている「メモ帳」だけで頑張っているユーザーの方には朗報なのではないかと思います。PCKはただですから、1銭も使わずに、「メモ帳」がいきなり並べ替え機能付きになるのです。しかも、PCKに含まれているダイアログは並べ替えコマンドには限られません。PerlだとかRubyといった高度な処理を実行できるプログラム(でも、これらも無償で入手できますが)でコピーした内容を操作し、エディタに貼り戻すこともできるのです。

ファイルをドロップできるダイアログ

ところで、PCKはもともと今まで説明してきたような使い方をするために作ったものではありませんでした。先ほどの「sort」というタイトル.のダイアログを操作したとき、もとのエディタに並べ替えたあとのデータを貼り付けられるようになっただけではなく、何らかのテキストエディタが自動的に起動されて、並べ替えの結果がそこに独立に表示されたのではないかと思います(ちなみに、このテキストエディタオープンがうるさいと思う場合には「設定」ボタンを押して「標準出力のためにエディタを起動しない」をチェックしてください。詳細は、「設定ダイアログボックス」のページを参照)。これがもともとの機能なのです。

次に、エクスプローラを起動して、何らかのファイルを「sort」ダイアログにドラッグアンドドロップしてみてください。そのファイルの内容がアルファベット順に(かな、カナはあいうえお順、漢字は文字コード順)に並べ替えられて表示されます。PerlRubyの複雑なスクリプトを指定したダイアログでも同様です。このように、PCKの各種ダイアログボックスは、ディスクファイルを受け付けることができます。エディタの編集コマンド指定ダイアログに、このような機能があるでしょうか。出力も、クリップボードだけではなく、一時ファイル、特定のファイルにすることができます。入出力の指定方法については、それぞれ「入力の指定」、「出力の指定」のページを参照してください。また、PCKは作者もときどき忘れてしまうほど、様々なドラッグアンドドロップ操作をサポートしています。これらについては、「ドラッグアンドドロップとコピーアンドペースト」のページを参照してください。

コマンドの組み合わせ

さて、先ほど、PCKには pipe line)という胴元的存在のプログラムがあると書きました。この胴元はそのままでは何も意味がありませんが、ほかのダイアログで指定された操作を組み合わせることができます。たとえば、長短さまざまな行のあるメールをもらって、その一部を引用しながら返事を書きたいが、行の不揃いを解消したいと思ったとします。このような場合には、まず、paste)フロントエンドで次のように-sオプションにチェックを付けると、行が1行にまとまります。

 

 

次に、pasteの出力をfold)フロントエンドで操作します。たとえば、次のように設定すると、半角で数えて72文字目(全角なら36文字目)のところで改行が入ります。

 

 

このfoldの出力の各行の冒頭に"> "という引用記号も付けておきましょう。色々な方法がありますが、ここではPCKcatのおまけ機能を使うことにします。

 

 

以上3工程を通過すると、たとえば、次のような入力は、

 

ごぶさたしています。

今日、メールしたのはね、不景気の原因が何かと

いうようなうるさい話ではなくて、

明日の飲み会どうしようかってことなんだけど、渋谷の

○×でいいかな?

 

次のように変身します。

 

> ごぶさたしています。今日、メールしたのはね、不景気の原因が何かというよう

> なうるさい話ではなくて、明日の飲み会どうしようかってことなんだけど、渋谷

> ○×でいいかな?

 

しかし、3つのダイアログをいちいち実行するのでは、さすがに面倒です。ここで胴元の出番がやってきます。3つのダイアログの最下部には、それぞれのコマンド行が表示されていて、その左に四角いものがくっついています。この四角い部分をクリックすると、カーソルが例のドラッグアンドドロップ形になります。そこでカーソルを pipe line)のウィンドウまでドラッグしてきてぽとんとドロップすると、コマンド行が pipe line)に貼り付けされます。実行する順番に貼り付けをすると、 pipe line)は次のようになります。

 

 

ちなみに、pasteのコマンド行は先ほどとはちょっと違うものになっていますが、これは先ほどの指定では間違っていることに気付いたからです。このようなときには、リストボックスのpasteのコマンド行の部分をダブルクリックすると、次のような省略版のダイアログがオープンされますので、そこで設定を変えることができます。この場合は、区切り子として、空文字を指定しています。先ほどの設定のままだと、改行だったところにタブ文字が入ってしまうのです。

 

 

もちろん、このようにしてコマンド行を組み合わせて作った pipe line)ダイアログは、最初の話にも出た、メモ帳などのプログラムの常設編集操作コマンドとして使うことができます。なお、コマンド行の移動は、今説明したドラッグアンドドロップの方法のほか、コピーアンドペーストの方法でもできます。詳しくは、「ドラッグアンドドロップとコピーアンドペースト」のページを参照してください。

起動方法

先ほども書きましたが、PCKの欠点のつは、エディタコマンドのダイアログボックスと比べてオープンするのが面倒だということです。たとえば、今作ったばかりの3つのコマンドを組み合わせた pipe line)のダイアログですが、同じことをやりたいと思うたびに、この操作をいちいちやるのでは、うんざりというものでしょう。そこで、この設定自体をファイルに保存してみてはどうかということになります。それが pipe line)の「保存」コマンドです。これをクリックすると、よくあるファイル保存のダイアログボックスが出てきますので、名前をつけておけば、いわゆる.batファイルとして保存できます(詳しくは「.batファイルのロードと保存」を参照)。次に pipe line)を起動したときに「ロード」ボタンを押して、ファイル名を指定すれば、先ほどの画面の状態がすぐに復元されます。

それだけではありません。次のようにこの手の.batファイルを1つのフォルダにまとめておき、エクスプローラでそのフォルダをオープンし、ファイルをダブルクリックすれば、アイコンが示すダイアログがオープンされます。

 

 

また、 pipe line)以外のダイアログについては、 pipe line)の「追加」ボタンを押すと、次のようなダイアログが表示され、ここから起動することができます。

 

 

ここに表示されるプログラムは、pcksetup)で増やしたり減らしたりすることができますが、原則として、1度起動したプログラムは、リストに表示されるようになります。それが邪魔だったら、pcksetup)で取り除くということになります。

以上で、PCKが何をしようとしているのか、大体の感触をつかんでいただけたかと思います。PCKの基礎であるコマンド行プログラムについて理屈っぽく考察してみてもいいよと思われる方は、(より専門的かも版)を引き続きご覧ください。また、「共通機能」としてまとめられている各ページには、ここでは取り上げなかったテクニックが満載されていますので、慣れてきたらご覧ください。さらに、大変慣れてきたら、bg)を使うと、クリップボードの中身を書き換えられるデスクトップアイコンを作ることができます(そういうことができるということに作者自身気付いていなかったので、そのために必要なオプションを受け付けられるように改造するのを忘れていましたが、ver.2.1.1.5で改めました)。そして、クリップボードにセットされていたことのあるテキストデータを取っておけるboard)、ファイルをいつ作っていつ書き換えたかを誤魔化せるtouch)などというプログラムもあります。board)をオープンしておけば、クリップボード書き換えアイコンの動作を確かめることができます。

簡単版と言いつつ、それほど簡単な説明ではなかったかもしれませんが、興味を持っていただいて、使いこなしていただければ幸いです。