tv


 このプログラムは、PCK GUIフロントエンドの出力を表示するためのプログラムの一種で、ver.2.2.0.5で初めて追加されました。もっとも、このプログラムは通常のテキスト表示プログラムではなく、Windowsエクスプローラのフォルダペーンで使われているようなツリービューコントロールを使ってテキストを表示します。たとえば、次のようにインデントされているテキストファイル.があると、

 

英単語暗記(その1

         economy

                  経済

         law

                  法律

         politics

                  政治

         society

                  社会

 

 次のように表示されます。

 

 

 このように表示方法が特殊である点を除けば、sb)とほぼ同じです。ドラッグアンドドロップ、新ファイルを指定したコマンド行からの実行などで新しい内容をオープンする時に、新しいウィンドウを表示せず、既存のウィンドウに新しい内容の表示を追加したり、既存の表示を消して新しい内容のみを表示したりすることができますし、キーボードコマンドを実行できますし、正規表現のサーチをサポートしています。

用途

 のこのような表示は、作者の考えでは2つの用途で役に立ちます。

1つは、C/C++ソースコードの表示です。ごくオーソドックスなコードの書き方をしていれば、関数、if/for/while等のブロックが自然に木構造の枝を形成します。ですから、コードの全体像を眺めつつ、細部を確かめることができます。編集中のファイルの表示を拒まないようなエディタと組み合わせて使えば、同じファイルをとエディタの両方でオープンして、エディタで編集を加えるたびにの表示を更新することができます。

もう1つは、学生の暗記ツールです。問題よりも答のインデントレベルを下げれば、問題だけを表示したり、問題と答の両方を表示したりすることができます。まずは問題だけを表示して答を考えてから、問題と答の両方を表示して、答え合わせをします。間違っていたものは覚え直して、もう1度問題だけを表示して答えてみます。こういうことを繰り返していれば、恐らくその問題の答はきちんと覚えられるのではないかと思います。

表示の規則

 は、最初に示した例からもおわかりのように、行頭のインデント(タブ文字)の個数によって、そのテキストを木構造で表示します。行頭にタブ文字がない行は、ルートノードとして、左端から表示されます。行頭にタブ文字がある行は、それよりも前の行頭のタブ文字が少ない行の子と見なされます。たとえば、1行目の行頭にはタブ文字がなく、3行目の行頭にはタブ文字が1個ある場合、2行目は1行目の子になります。ここで、3行目の行頭にはタブ文字が2個あるとすると、3行目は2行目の子であるとともに、1行目の孫となります。次に、1行目はタブ文字なし、2行目はタブ文字2個だとすると、1行目と2行目の間でタブ文字の個数の差が2個になってしまいますが、この場合には、タブ文字1個分に相当する空アイテムを1個追加して1行目と2行目の間に入れます。上の図で、☆が付いているのが、空アイテムの例です。☆の部分は自由に設定できます(文字を一切表示しないようにすることもできます)。前の行よりも行頭タブ文字が少ない場合には、それよりも前の行頭タブ文字が同じ個数の行と兄弟(縦線でつながれる関係)になります。空アイテムが挿入されることを除けば、元のテキストでの表示とほぼ同じなので、難しくはないと思います。

データの与え方

 で表示されるデータは、様々な方法で指定できます。「ファイル」「開く」コマンドや起動時のコマンド行パラメータが使えるのはもちろん、エクスプローラからのファイルのドラッグアンドドロップ、ワードパッドやワードからのテキストのドラッグアンドドロップ、エクスプローラでコピーしたファイルの貼り付け、クリップボードにセットされているテキストデータの貼り付けといった方法があります。ちなみに、PCK GUIフロントエンドから起動したコマンド行プログラムの出力が表示されるのは、コマンド行パラメータとして出力を格納した一時テキストファイルが指定されているからです。

ファイルメニュー

 前項と重複しますが、「ファイル」メニューの内容は、通常のエディタとほぼ同じです。ただし、「新規作成」コマンドに代わる「画面クリア」コマンドは、単純に画面をクリアするだけです。表示されている内容は、「名前を付けて保存」コマンドでファイル名を指定して保存することができます。で表示しているファイルに別のプログラムで編集をかけても、そのままではの表示は更新されませんが、「更新」コマンドを選択すると、新しいファイルの内容が読み込まれます。「更新して圧縮」コマンドを選択すると、新ファイルの内容を読み込んだ上で、すべての枝を圧縮します。「状態の保存」コマンドは、画面内のデータを完全に展開したときの行数と、各行の状態(展開されているか、圧縮されているか、選択されている行はどれか)をテキストファイルに書きます。状態ファイルの形式は、ごくいいかげんなもので、1行目に上のビューの行数、2行目に選択されている行、3行目に各行の状態情報、4行目から6行目は下のビューについて同じ情報をまとめたものとなっています。「状態のロード」コマンドを実行すると、「状態の保存」コマンドで保存した状態情報を画面に反映させることができます。「印刷」コマンドは、現在表示されているデータだけを印刷します。空ノードは印刷されません。1つの項目は1行に印刷されます。用紙よりも長い行は末尾が切れてしまいますので、フォントサイズや用紙の向きに注意する必要があります。ヘッダには、タイトルとしてファイル名が表示されますが、後述のキーボードコマンドのTitle=を使えば、直接文書のタイトルを指定できます。

編集メニュー

 クリップボード関係では、「切り取り」コマンドはありません。「コピー」コマンドは、選択された枝から下のすべての部分をクリップボードに送ります。「実行」コマンドは、選択された文字列をコマンド行として実行します。「すべてをコピー」コマンドは、データ全体をクリップボードに送ります。「貼り付け」コマンドは、先ほども説明したように、クリップボードにテキストデータかファイルがセットされている時に動作します。テキストデータがセットされている時には、そのデータがそのまま表示されます。ファイルがセットされている時には、ファイルの内容が表示されます。

 はブラウザですから編集機能を持ちませんが、「内容編集」コマンドを選択すれば、編集機能を持つエディタを使って、表示されている内容を編集できます。エディタの起動には、「設定」ダイアログの「内容編集」で指定されたコマンド行が使われます。コマンド行オプションで起動時の表示行を指定できるエディタを使っている場合には、行番号として%iを指定したコマンド行を使うと(エディタ起動時には%iの代わりに実際の行番号が指定されます)、で選択されている行をすぐに編集できます。たとえば、秀丸の場合ならC:\program files\hidemaru\hidemaru.exe /j%というコマンド行を用意しておけば、秀丸起動時にで選択されている行がすぐに表示されます。

 この時に編集されるファイルは、「設定」ダイアログの「表示内容」が「追加」になっている場合には、が作った一時ファイルです。「置換」になっている場合には、タイトルバーにも表示されているファイルそのものを編集できます。「内容編集」コマンドは、[v]キーでも起動できます。

 ファイルを編集して保存しても、の表示がすぐに更新されるわけではありません。手動で更新作業をする必要があります。上記「ファイル」メニューの「更新」はそのためのコマンドです。

検索」コマンドはありませんが、後述のように検索機能はあります([/][?][n][N]キーによる簡易正規表現検索)。

表示メニュー

 このメニューでは、チェックされているコマンドを選択するとチェックが外れ、チェックされていないコマンドを選択するとチェックが付きます。「ツールバー」、「ステータスバー」コマンドがチェックされているときにはツールバー、ステータスバーが表示されます。ツールバーには、「ファイル」メニューの「新規作成」、「開く」、「名前を付けて保存」、「編集」メニューの「コピー」、「貼り付け」、「ヘルプ」メニューの「tvのバージョン情報」コマンドと同じ意味を持つボタンが含まれています。「一番上へ」コマンドがチェックされているときには、他のプログラムを操作しているときでも、が画面の最も手前に表示されます。

ヘルプメニュー

 「ヘルプ」コマンドを選択するとこのヘルプテキスト、「tvのバージョン情報」コマンドを選択するとバージョン情報が書かれたAboutボックスが表示されます。

コンテキストメニュー

 のクライアント領域でマウスを右クリックすると、次のようなメニューが表示されます。

 

 

 「画面クリア」から「印刷設定」までは「ファイル」メニュー、「コピー」から「貼り付け」までは「編集」メニュー、「ヘルプ」は「ヘルプ」メニューの同名コマンドと同じように機能します。

 

設定

 「表示」メニューの「設定」コマンドを選択すると、次のような「設定」ダイアログがオープンされます。

 

 

 このダイアログでは、主としての表示に影響を与えるオプションを指定できます。

 

位置・サイズ 次回起動した時のウィンドウの位置とサイズを指定します。上下左右の字の右側の数字は、現在のウィンドウの座標を示しています。「Windowsに任せる」にすると、画面のかなりの部分を使って画面と同じ縦横比のウィンドウがオープンされます。「左の値を使う」にすると、左側のエディットボックスが有効になり、特定のサイズを指定することができます。この場合、「OK」ボタンを押してダイアログをクローズすると、指定されたサイズでウィンドウを表示し直します(ただし、指定された座標では高さや幅が200ピクセル以下になってしまう場合には、最低限200ピクセルになるように調整します)。「前回終了時の位置を使う」にすると、前に実行した時にウィンドウをクローズした位置にウィンドウが表示されます。pipeline)、cmdline)、boardboardu)、touch)と同様の動作です。

印刷用フォント 画面用のフォントは変えられません。印刷で使われるフォントを指定します。

表示開始位置 新しいファイルを与えた時に、そのファイルの先頭を表示するか、末尾を表示するか、なるべくカーソルを移動しないようにするかを指定できます(ただし、「変更せず」は置換モードでは、効果がありません)。

検索 検索時の動作を指定します。「大小文字無視」をチェックすると、検索パターンの大文字と小文字の違いを無視します。「IME自動オープン」をチェックすると、検索パターン入力ウィンドウを表示したときに、自動的にIMEをオープンします。

表示内容 追加」にすると、それまでのデータの表示内容を消さずに、その後ろに新しいデータの表示を追加していきます。「置換」にすると、新しいデータを与えるたびにウィンドウの内容が置き換えられます。

終了確認をする クローズボックスのクリックなどによってを終了しようとした時、PCKのほかのプログラムなら本当に終了してもよいかどうかを尋ねるダイアログボックスが必ずオープンされますが、の場合、このチェックボックスをチェックしなければ、何も尋ねずに終了します。終了確認をする設定になっている場合には、終了時にウィンドウの状態の保存を求めてきます(ウィンドウに何か表示されている場合のみ)。ファイル名を指定して「保存」を押せば状態情報を保存できますが、「キャンセル」ボタンを押せば状態情報を保存せずに終了します。

ツリーの表示 ツリービューの表示方法を変更します。「+ボタン」をチェックすると、項目の左端にマウスでクリックすると枝を展開、圧縮できる+記号入りのボタンを表示します。「線付き」をチェックすると、木構造をよりわかりやすく表示する系図と同様の線が表示されます。「ルートの線、ボタン」をチェックすると、最上位の項目(行頭にタブのない行)に対しても、+ボタンや線が表示されます。

空ノード 表示の規則」で説明したように、行の位置揃えのために元のテキストにはない空のアイテムを追加することがあります。その空アイテム(ノード)の表示方法を指定します。この図では「☆」にしていますが、一切表示しないようにすることもできます。空ノードは検索では無視されます。

子プロセス起動 後述の方法でコマンドを起動する時の環境を指定します。「クリップボードの内容を標準入力として使う」と「標準出力をクリップボードにセットする」は、PCKフロントエンドでは、メインウィンドウの上の方と下の方に含まれているチェックボックスと同じ機能で、オプション名の通りのリダイレクトをします。「出力の先頭にコマンド行とプロンプトを付加」は、出力の先頭に、たとえば次のような1行を追加します。

 

C:\program files\longtail\cmdline> dir

 

PCK ver.2.2.0.0以降のGUIフロントエンドの「設定」ダイアログにも、同様のオプションが追加されています。これを指定すると、の表示が、まるでMS-DOS/コマンドプロンプトのようになります。次の「出力の末尾にコマンド行などを付加」は、PCK GUIフロントエンドの「設定」ダイアログに当初から含まれていたオプションで、出力の末尾に次のような1行を追加します。

 

cat  (in C:\)

From Tue, 14 Aug 2001 15:27:30 +0900(東京 (標準時))

To   Tue, 14 Aug 2001 15:27:30 +0900(東京 (標準時))

119 bytes

 

最後の「エディタに標準出力を送らない」も、GUIフロントエンドの「設定」ダイアログに含まれているのと同様のオプションで、コマンドを実行しても、出力を表示しません。「子プロセス出力エディタ」は、PCK GUIフロントエンドの「設定」ダイアログの上部のリスト、ボタンと同じで、コマンド行プログラムを実行した時に出力を送るエディタを選択します。「エディタリスト」ボタンを押すと、エディタリストの内容を編集できます。ここでtv.exe自身を選べば(そして、設定名も揃えれば)、で実行したプログラムの出力を同じで見ることができます。

内容編集 子プロセス出力」の下の「内容編集」コンボボックスにも「子プロセス出力」と同様のエディタコマンド行の一部が表示されますが、これは、「編集」メニューの「内容編集」コマンドを選択した時に使われるものです。コマンド行オプションで起動時の表示行を指定できるエディタを使っている場合には、行番号として%iを指定したコマンド行を使うと(エディタ起動時には%iの代わりに実際の行番号が指定されます)、で選択されている行をすぐに編集できます。たとえば、秀丸の場合ならC:\program files\hidemaru\hidemaru.exe /j%というコマンド行を用意しておけば、秀丸起動時にで選択されている行がすぐに表示されます。

 

 「設定」ダイアログで変更した設定は、を次に起動する時にも有効です。しかし、それだけではなく、これらの設定は名前を付けて保存できるようにもなっています。「設定」ダイアログの左側のリストボックスに含まれている名前がそれです(この画面の場合4個定義されています)。名前をダブルクリックすると、ダイアログの内容は、その名前の設定に合わせて変化します。そして、「保存」ボタンを押すと、「名前」の下のエディットボックスに書かれた名前のものとして、その時の「設定」ダイアログの内容が保存されます。つまり、「名前」の下のエディットボックスは、新しい設定名を作るために使うことができます。

設定名は、コマンド行オプションとして指定できます。たとえば、/addを指定した場合、addという設定名で保存されているオプションが使われます。もっとも、pptddeautomationembeddingという設定名は使えません。設定名が指定されていない場合には、設定名としてdefaultが使われます。

 設定名には、重要な機能が1つあります。このヘルプの最初の方で、のウィンドウは1つしか表示されないと説明しましたが、正確に言うと、のウィンドウは設定名ごとに1ずつしか表示されないのです。逆に言えば、のウィンドウは、設定名の数だけ開くことができます。

 そのウィンドウの設定名は、「設定」ダイアログをオープンした時に「名前」の下のエディットボックスに表示されます。実行中に設定名をダイナミックに変えることはできません。「設定」ダイアログボックスでできるのは、ほかの設定名の設定内容を保存することだけです。しかも、その時にその設定名のウィンドウがオープンされていたとしても、そのウィンドウに変更点は反映されません。先ほども触れたように、設定はウィンドウがクローズされる時に自動保存されますので、このようなことをしてもあまり意味はありません。

 設定名が多くなり過ぎたときには、整理することができます。エディットボックスの上の「削除」ボタンを押すと、「名前」の下のエディットボックスの設定名が削除されます。削除された設定名を使っても問題は起きません(その設定名が新しく作られます)。

スクロールとカーソル移動

 Windowsアプリケーションですから、マウスでスクロールバーを操作すればスクロールできます。また、キーボードの上下の矢印キーを押せば1行ずつ上下に、[PageUp][PageDown]キーを押せば1画面分ずつ上下に、[Ctrl]キーを押しながら[Home][End]キーを押せばファイルの先頭と末尾にスクロールできます。しかし、はその他にless風のキーボード操作によるスクロールもサポートしています。また、の場合は、ツリー状に表示をするという特徴を活かすために、にはない独自のキーボードコマンドもあります(下の表の36行目と最後の13行分)。

 

[j][e][Ctrl]+[M] [Enter]

1行下(表示されている行の中で)。

[k][y][Ctrl]+[Y]

1行上(表示されている行の中で)。

[J]

1アイテム下(表示されていなければ、枝を展開して表示)。

[K]

1アイテム上(表示されていなければ、枝を展開して表示)。

[t]

同じレベルの1つ上のアイテム(表示されていなければ、枝を展開して表示)。

[T]

同じレベルの1つ下のアイテム(表示されていなければ、枝を展開して表示)。

[d][Ctrl]+[D]

半画面下。

[u][Ctrl]+[U]

半画面上。

[f][Ctrl]+[F][Ctrl]+[V][Spacebar]

1画面下。

[b][Ctrl]+[B][Esc]+[v]

1画面上。

[Esc]+[j]

選択されているアイテムを変更せずに1行分下へスクロール

[Esc]+[k]

選択されているアイテムを変更せずに1行分上へスクロール

[Esc]+[d]

選択されているアイテムを変更せずに半画面分下へスクロール

[Esc]+[u]

選択されているアイテムを変更せずに半画面分上へスクロール

[Esc]+[f]

選択されているアイテムを変更せずに1画面分下へスクロール

[Esc]+[b]

選択されているアイテムを変更せずに1画面分上へスクロール

[h]

左小スクロール

[l]

右小スクロール

[H]

左大スクロール

[L]

右大スクロール

[.]

最後の数量指定付き移動操作を再実行。

[,]

向きを逆にして最後の数量指定付き移動操作を再実行。

[g][<]

先頭。数量指定した場合は先頭からn行目。

[G][>]

末尾。数量指定した場合は末尾からn行目。

[Esc]+[g][Esc]+[<]

選択されているアイテムを変更せずに先頭。数量指定した場合は先頭からn行目。

[Esc]+[G][Esc]+[>]

選択されているアイテムを変更せずに末尾。数量指定した場合は末尾からn行目。

[r][R]

同じ枝のなかの同じレベルのアイテム間を移動。小文字で前方、大文字で後方。

[p]

親アイテム。

[w]

子(長子)アイテム。

[P]

ルート(先祖)アイテム。

[W]

直系子孫アイテム。

[Ctrl]+[J]

空でない次のアイテム。

[Ctrl]+[K]

空でない先祖アイテム。

[m]

子を持つ次のアイテム。

[M]

子を持つ前のアイテム。

[z]

表示されている中で子を持つ次のアイテム。

[Z]

表示されている中で子を持つ前のアイテム。

[a]

親の弟。親が末っ子なら祖父の弟。

[Ctrl]+[Z]

1つ前に選択されていたアイテムを表示。

[Esc]+[z]

選択されているアイテムを変更せずに1つ前に選択されていたアイテムを表示。

[Esc]+[s]

画面最上行を選択。

[S]

選択されているアイテムが表示されるようにスクロール。

[x][c]

選択されているアイテムの枝を展開([x])、圧縮([c])。数量指定をしなければ、アイテムの左端のボタンの+-記号をマウスでクリックするのと同じです。

[X][C]

選択されているアイテムの枝に含まれるすべての子枝を展開([X])、圧縮([C])。なお、[Ctrl]+[R]ですべての枝を圧縮できます。

 

 行、アイテム、同レベルアイテム、半画面、画面のスクロール、左右へのスクロール、指定行ジャンプ、親子間移動、展開、圧縮では、先に数量を入力することができます。たとえば、[1][5][j]と入力すると、15行分下に下がります。その後で[j]キーを押すと、数量を指定した効果がなくなり、1行ずつ下がるように戻ってしまいますが、[.]キーを押せば、15行分下に下がる操作を繰り返すことができます。[,]キーを押せば、15行分上に上がります。

ウィンドウ分割

 ウィンドウを分割すれば、同じデータの異なる位置を同時に表示できます。オープンしたばかりののウィンドウ下部には、横棒が重なって表示されています。マウスでこの棒をつまんで動かせば、ウィンドウは上下に2分割されます。[i]キーを押すという方法でも、ウィンドウは分割されます。ウィンドウが分割されている時に[i]キーを押すと、逆に起動直後と同様のウィンドウ1つの表示に戻ります。また、横棒はを[O]キーを押せば上に、[o]キーを押せば下に1行分ずつ移動します。さらに、[F6][Shift]+[F6][s]のどれかのキーを押せば、キーボードを受け付けるウィンドウを切り替えることができます。また、[I]キーを押すと、ウィンドウの分割を終了し、上ペーン、下ペーンを交互に表示することができます。

コマンド実行

 「設定」ダイアログの項でも簡単に触れましたが、からはコマンド行プログラムを実行できます。のアイコンが緑ではなく赤になっているのは、(pipe line)(command line)と同様に、様々なコマンド行プログラムを実行して、その出力をテキストエディタに表示できるからです。「設定」ダイアログで出力先として自身(設定名も同じもの)を指定すれば、コマンドを起動したウィンドウに出力が表示されます。

 コマンドを実行するには、[!]キーを押します。すると、のウィンドウと同じ幅で高さが文字1行分のダイアログがウィンドウ下部に表示されます。ダイアログの左端には、今入力したばかりの[!]が表示されます。このダイアログは、他のキーでも別の目的のためにオープンされますので、このようにして見分けられるようにしているのです。このダイアログが表示されている間は、のメインウィンドウは操作できません。また、このダイアログには、マウスでクリックできる「OK」、「キャンセル」ボタンはありませんので、キーボードの[Esc]キーを押すか(この場合は、キャンセル)、[Enter]キーを押さなければ消えません。たとえば、「dir」などのコマンドを入力し、[Enter]キーを押すと、コマンドが実行され、指定されたテキストエディタ(しつこいですけれども、自身にすることができます)に出力が表示されます。マウスでこのダイアログの矢印をクリックすると、過去に実行した20個以内のコマンドが表示されます。

 コマンドの実行環境は(command line)とほぼ同じです。cdchdirコマンドでカレントディレクトリを変更することができ、setコマンドで環境変数を設定することができます。環境変数は、%%で囲んで参照することができます。たとえば、「echo %path%」というコマンドを実行すると、環境変数PATHの内容が表示されます。また、パイプ、リダイレクト記号を使うことができ、NT系システムでは&&&||を使うことができますが、setcdchdirコマンドとこれらの記号を併用することはできません。ファイル名のみを入力すると、エクスプローラでファイルをダブルクリックした時と同じように、拡張子に対応付けられているアプリケーションが起動されます。

 コマンドの実行方法としては、画面に表示されている文字列を選択して、「編集」メニューの「実行」コマンドを選択する(または、右クリックメニューから「実行」コマンドを選択する.、あるいは[Ctrl]+[U] を押す)という方法もあります。この場合、画面上の選択済み文字列は[!]ダイアログに入力された文字列と同じように扱われます。

編集

 最初に説明したように、はブラウザですから、編集機能を持ちません。しかし、[v]キーを押せば、そのシステムで拡張子.txtのファイルをダブルクリックしたときにオープンされるエディタでに表示されている通りのテキストを編集できます。この時に編集されるファイルは、「設定」ダイアログの「表示内容」が「追加」になっている場合には、が作った一時ファイルです。「置換」になっている場合には、タイトルバーにも表示されているファイルそのものを編集できます。

 ファイルを編集して保存しても、の表示がすぐに更新されるわけではありません。手動で更新作業をする必要があります。「ファイル」メニューの「更新」はそのためのコマンドです。このコマンドは、[Ctrl]+[L]キーでも実行できます。sb)とは異なり、更新した上で、全部の枝葉を圧縮する「更新して圧縮」コマンドもあります([Ctrl]+[R]キー)

検索

 は、と同様のgrep風(しかしegrep風ではない)略式正規表現をサポートする検索コマンドがあります。正規表現検索を実行するには、[/]キーか[?]キーを押して検索パターンを指定します。これらのキーを押すと、コマンド実行の時と同様の1行分だけダイアログがウィンドウ下部に表示されます。もちろん、左端には[/][?]が表示されます。このウィンドウに検索パターンを入力して、[Enter]を押すと、パターンにマッチする行を検索します。この時、[/]なら下に向かって、[?]なら逆に上に向かって検索します。マッチした行が圧縮された枝に含まれていて表示されていない場合には、枝を展開して表示、選択します。検索パターンを指定した後、同じパターンを繰り返し検索したい場合には、[n][N]を押します。[n]は検索パターン指定時と同じ方向([/]なら下向き、[?]なら上向き)、[N]は逆方向([/]なら上向き、[?]なら下向き)に次のマッチを探します。検索対象は1行のみで、2行以上に跨るパターンを検索することはできません。特殊な意味を持つ文字(メタキャラクタ)は次の通りです。

 

.

任意の文字1つにマッチ。2バイト文字も1バイト文字も等しく1文字として計算します。

[...]

[]内で指定された文字のなかのどれか1つにマッチ。

[^...]

[]内で指定されていない文字1つにマッチ。

[:alpha:]

英字1つ(2バイト文字、1バイト文字の両方)にマッチ。

[:alnum:]

英数字1つ(2バイト文字、1バイト文字の両方)にマッチ。

[:blank:]

タブかスペース(2バイト文字、1バイト文字の両方)にマッチ。

[:cntrl:]

制御文字1つ(1バイト文字のみ)にマッチ。

[:digit:]

数字1つ(2バイト文字、1バイト文字の両方)にマッチ。

[:graph:]

タブ、スペース以外の英数字記号(1バイト文字のみ)にマッチ。

[:lower:]

英小文字1つ(2バイト文字、1バイト文字の両方)にマッチ。

[:print:]

スペースを含む英数字記号(1バイト文字のみ)にマッチ。

[:punct:]

英字記号(1バイト文字のみ)にマッチ。

[:space:]

スペースなどの空白文字(2バイトスペースを含む)にマッチ。

[:upper:]

英大文字1つ(2バイト文字、1バイト文字の両方)にマッチ。

[:xdigit:]

16進数として解釈できる文字(数字とaからfまでの大文字、小文字、1バイトのみ)にマッチ。

[:kana:]

1バイトカナにマッチ。

[:mbcl0:]

2バイト文字第0水準にマッチ。

[:mbcl1:]

2バイト文字第1水準にマッチ。

[:mbcl2:]

2バイト文字第2水準にマッチ。

\a

BEL文字(0x07)にマッチ。

\b

BS文字(0x08)にマッチ。

\e

ESC文字(0x1b)にマッチ。

\f

FF文字(0x0c)にマッチ。

\t

HT文字(0x09)にマッチ。

\v

VT文字(0x0b)にマッチ。

\d

[:digit:]と同じ。[]内では使えない。

\D

\d以外の文字にマッチ。[]内では使えない。

\w

[:alnum:]と同じ。[]内では使えない。

\W

\w以外の文字にマッチ。[]内では使えない。

\s

[:space:]と同じ。[]内では使えない。

\S

\s以外の文字にマッチ。[]内では使えない。

\x....

...xdigitなら、4桁までの16進コードで表現される文字。

\.

上記以外の文字が\に続く場合、\の後ろの文字にマッチ。

?

直前の文字0個または1個にマッチ

*

0個以上の直前の文字にマッチ

+

1個以上の直前の文字にマッチ

{min,max}

min個以上max個以下の直前の文字にマッチ

^

行頭にマッチ(パターンの先頭で指定されている場合のみ)

$

行末にマッチ(パターンの末尾で指定されている場合のみ)

 

 ()|は使えません。また、バイナリファイルでは正しく動作しません。動作はかなり遅くなることがあります。なお、「設定」ダイアログの大小文字無視ボタンかキーボードコマンドのIgnoreCaseCaseSensitiveにより、大文字と小文字を区別するかどうか(ただし、[]内の範囲指定、[:...:]の文字クラス指定を除く)を指定できます。また、「設定」ダイアログのIME自動オープンをチェックするか、キーボードコマンドのIMEOpenを使うと、検索ウィンドウが表示されたときに、自動的にIMEをオープンすることができます(こうすると、すぐに漢字やひらがなの検索パターンを入力できます)。

キーボードコマンド

 メニューコマンドやダイアログ内でのオプションの大半は、キーボードコマンドとして入力することができます。[:]キーを押すと、例によってウィンドウ下部に細長いダイアログが表示されます(左端は[:])。ここに以下のコマンドを入力します。コマンドは大文字と小文字を区別しません(下の表では、先頭を大文字にしていますが、表を見やすくするという以上の意味はありません)。

 

ファイルメニュー関係

 

New

ファイル」メニュー「画面クリア」コマンド。[Ctrl]+[N]キーと同じ。

Open

ファイル」メニュー「開く」コマンド。[Ctrl]+[O]キーと同じ。

Open=filename

filenameをオープンする。

Save

ファイル」メニュー「名前を付けて保存」コマンド。[Ctrl]+[S]キーと同じ。

Update

ファイル」メニュー「更新」コマンド。[Ctrl]+[L]キーと同じ。

UpdateAndCollapse

ファイル」メニュー「更新して圧縮」コマンド。[Ctrl]+[R]キーと同じ。

LoadState

ファイル」メニュー「状態をロード」コマンド。

SaveState

ファイル」メニュー「状態を保存」コマンド。

Print

ファイル」メニュー「印刷」コマンド。[Ctrl]+[S]キーと同じ。

Preview

ファイル」メニュー「印刷プレビュー」コマンド。

PrintSetup

ファイル」メニュー「プリンタの設定」コマンド。

Title

印刷される文書のヘッダ部に表示されるタイトルを指定します。指定しなければファイル名が使われます。

Quit

ファイル」メニュー「アプリケーションの終了」コマンド。[Q]キーと同じ。

Exit

ファイル」メニュー「アプリケーションの終了」コマンド。[Q]キーと同じ。

 

 

編集メニュー関係

 

Copy

編集」メニュー「コピー」コマンド。[Ctrl]+[C][Ctrl]+[Insert]キーと同じ。

CopyAll

編集」メニュー「すべてコピー」コマンド。[Ctrl]+[A]キーと同じ。

Paste

編集」メニュー「貼り付け」コマンド。[Ctrl]+[V][Shift]+[Insert]キーと同じ。

 

 

表示メニュー関係

 

Toolbar

表示」メニュー「ツールバー」コマンド。

Statusbar

表示」メニュー「ステータスバー」コマンド。

TopMost

表示」メニュー「一番上へ」コマンド。[F2]キーと同じ

Setup

表示」メニュー「設定」コマンド。

 

 

設定ダイアログ関係

 

DefaultPlace

位置・サイズ」「Windowsに任せる」オプション。

FixedPlace

位置・サイズ」「左の値を使う」オプション。

Pos=top,bottom,left,right

位置・サイズ」の上下左右の数字。カンマで区切り、この順番で指定します。サイズがなくなるような指定をしようとすると、自動的に下または右の値を調整します。また、画面内に少なくともウィンドウの一部が表示されるように上と左の値を調整します。「位置・サイズ」のラジオボタンがどれであっても、数字に合わせてウィンドウサイズを変更します。そして、「左の値を使う」が選択されている場合には、この値が次回起動時に使われます。

Top=[+|-]num

位置・サイズ」のの数字。+または-記号を付けた場合には、現在の数字にnumを加算または減算します。そうでなければ、数字を直接変更します。Pos=で指定した時と同様の調整をします。

Bottom=[+|-]num

位置・サイズ」のの数字。+または-記号を付けた場合には、現在の数字にnumを加算または減算します。そうでなければ、数字を直接変更します。Pos=で指定した時と同様の調整をします。

Left=[+|-]num

位置・サイズ」のの数字。+または-記号を付けた場合には、現在の数字にnumを加算または減算します。そうでなければ、数字を直接変更します。Pos=で指定した時と同様の調整をします。

Right=[+|-]num

位置・サイズ」のの数字。+または-記号を付けた場合には、現在の数字にnumを加算または減算します。そうでなければ、数字を直接変更します。Pos=で指定した時と同様の調整をします。

SavedPlace

位置・サイズ」「前回終了時の位置」オプション。

 

 

Typeface= facename

印刷用フォント」タイプフェースをfacenameに変更します。有効な名前かどうかのチェックはしません。

Bold

印刷用フォント」太字になっていなければ太字にします。太字になっていれば太字でなくします。

Italic

印刷用フォント」斜字になっていなければ斜字にします。斜字になっていれば斜字でなくします。

Point=num

印刷用フォント」ポイント数をnumにします。

 

 

Top

表示開始位置」「先頭」オプション。先頭へのジャンプはGoTop

End

表示開始位置」「末尾」オプション。末尾へのジャンプはGoEnd

Middle

表示開始位置」「変更せず」オプション。

 

 

IgnoreCase

検索」「大小文字無視」オプション。

CaseSensitive

検索」「大小文字無視」オプションをオフにします。

IMEOpen

検索」「IME自動オープン」オプションをオン/オフします。

 

 

Add

表示内容」「追加」オプション。

Replace

表示内容」「置換」オプション。

 

 

QueryQuit

終了確認をする」オプションをオン/オフします。

 

 

HasButtons

+ボタン」オプションをオン/オフします。

HasLines

線付き」オプションをオン/オフします。

LinesAtRoot

ルートの線、ボタン」オプションをオン/オフします。

 

 

BlankNode= string

空ノードとしてstringを表示します。

 

 

ClipIn

子プロセス起動」「クリップボードの内容を標準入力として扱う」オプションをオン/オフします。

ClipOut

子プロセス起動」「標準出力をクリップボードにセットする」オプションをオン/オフします。

CommandLine

子プロセス起動」「出力の先頭にプロンプトとコマンド行を付加」オプションをオン/オフします。

Debug

子プロセス起動」「出力の末尾にコマンド行などを付加」オプションをオン/オフします。

NoEditor

子プロセス起動」「エディタに標準出力を送らない」オプションをオン/オフします。

Editor=num

子プロセス出力エディタ」リストボックスのnum行目のエディタに標準出力を送ります。

EditorList

エディタリスト」ボタンと同じ。エディタリスト編集中は、は操作できなくなります。

 

 

ヘルプメニュー関係

 

Help

ヘルプ」メニュー「ヘルプ」コマンド。[F1]キーと同じ。

About

ヘルプ」メニュー「sbのバージョン情報」コマンド。

 

 

コントロールメニュー関係

 

Maximize

ウィンドウの最大化。

Normal

通常表示。

Minimize

ウィンドウの最小化。

 

 

スクロール関係

 

num

先頭からnum行目に移動。WithNoSelChangeを追加すると、選択位置を変更せずに移動します。

-num

末尾からnum行目に移動。WithNoSelChangeを追加すると、選択位置を変更せずに移動します。

numLinesUp

num行上にカーソル移動。num1の時に限り、1LineUp(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numLinesDown

num行下にカーソル移動。num1の時に限り、1LineDown(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numItemsUp

numアイテム上にカーソル移動。num1の時に限り、1ItemUp(単数形)でも受け付けます。

numItemsDown

numアイテム下にカーソル移動。num1の時に限り、1ItemDown(単数形)でも受け付けます。

numSameLevelItemsUp

同レベルのnumアイテム上にカーソル移動。num1の時に限り、1SameLevelItemUp(単数形)でも受け付けます。

numSameLevelItemsDown

同レベルのnumアイテム下にカーソル移動。num1の時に限り、1SameLevelItemDown(単数形)でも受け付けます。

numHalvesUp

num半画面上にカーソル移動。num1の時に限り、1HalfUp(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numHalvesDown

num半画面下にカーソル移動。num1の時に限り、1HalfDown(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numScreensUp

num画面上にカーソル移動。num1の時に限り、1ScreenUp(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numScreensDown

num画面下にカーソル移動。num1の時に限り、1ScreenDown(単数形)でも受け付けます。WithNoSelChangeを追加すると、選択位置を変更しないスクロールになります。

numUnitsToLeft

num単位左にカーソル移動。num1の時に限り、1UnitLeft(単数形)でも受け付けます。

numUnitsToRight

num単位右にカーソル移動。num1の時に限り、1UnitRight(単数形)でも受け付けます。

numPagesToLeft

numページ左にカーソル移動。num1の時に限り、1PageLeft(単数形)でも受け付けます。

numPagesToRight

numページ右にカーソル移動。num1の時に限り、1PageRight(単数形)でも受け付けます。

numParentsUp

numレベル親方向にカーソル移動。num1の時に限り、1ParentUp(単数形)でも受け付けます。

numChildrenDown

numレベル子方向にカーソル移動。num1の時に限り、1ChildDown(単数形)でも受け付けます。

Again

最後の数量指定付きスクロールコマンドの繰り返し。

Reverse

最後の数量指定付きスクロールコマンドの逆。

GoTop

先頭にジャンプ。WithNoSelChangeを追加すると、選択位置を変更せずに移動します。

GoEnd

末尾にジャンプ。WithNoSelChangeを追加すると、選択位置を変更せずに移動します。

LocalNext

同じ枝のなかの同じレベルの次のアイテム。[r]キーと同じ。

LocalPrev

同じ枝のなかの同じレベルの前のアイテム。[R]キーと同じ。

Parent

親アイテム。[p]キーと同じ。

Child

子アイテム。[w]キーと同じ。

Root

ルートアイテム。[P]キーと同じ。

Offspring

子孫アイテム。[W]キーと同じ。

NextNonNull

空でない子孫アイテムに移動。[Ctrl]+[J]キーと同じ。

PrevNonNull

空でない先祖アイテムに移動。[Ctrl]+[K]キーと同じ。

NextParent

子を持つ次のアイテムに移動。[m]キーと同じ。

PrevParent

子を持つ前のアイテムに移動。[M]キーと同じ。

NextVisibleParent

表示されている中で子を持つ次のアイテムに移動。[z]キーと同じ。

PrevVisibleParent

表示されている中で子を持つ前のアイテムに移動。[Z]キーと同じ。

ParentAndNext

親の弟に移動。親が末っ子なら、祖父の弟に移動。[a]キーと同じ。

LastItem

1つ前に選択されていたアイテムに移動。[Ctrl]+[Z]キーと同じ。

Select

画面最上行を選択。[Esc]+[s]キーと同じ。

 

 

ウィンドウ

 

Split

[i]キーと同じ。

ChangePane

[I]キーと同じ。

Switch

[F6] [Shift]+[F6] [s] キーと同じ。

Up

[O]キーと同じ。

Down

[o]キーと同じ。

 

 

ツリービュー操作

 

Expand

[x]キーと同じ。Expand1Levelとも同じ。

Collapse

[c]キーと同じ。Collapse1Levelとも同じ。

ExpandnumLevels

数量指定付きの[x]キーと同じでnumレベル展開します。num1の時に限り、1Level(単数形)でも受け付けます。

CollapsenumLevels

数量指定付きの[c]キーと同じでnumレベル圧縮します。num1の時に限り、1Level(単数形)でも受け付けます。

ExpandAll

[X]キーと同じ。

CollapseAll

[C]キーと同じ。

 

 

正規表現検索関係

 

Search

[/]キーと同じ。

SearchForward

[/]キーと同じ。

SearchBackward

[?]キーと同じ。

Next

[n]キーと同じ。

Prev

[N]キーと同じ。

IgnoreCase

設定」ダイアログの「検索」「大小文字無視」オプションをオンにします。

CaseSensitive

設定」ダイアログの「検索」「大小文字無視」オプションをオフにします。

IMEOpen

設定」ダイアログの「検索」「IME自動オープン」オプションをオン/オフします

 

 

その他

 

Edit

[v]キーと同じ。

Spawn

[!]キーと同じ。

 

問題点

 1つのコマンド行で複数のファイルが表示されるという条件に対しては、あまりきちんと対応していません。たとえば、がまだ開いていない状態でこのようなコマンド行を実行すると、同じ設定名のが複数起動されてしまうことがあります。たとえば、Windows NT/2000/XPマシンで、cmdline)で&を使って複数のファイルにリダイレクト出力するようなコマンド行を実行すると、うまく動きません(しかし、出力をリダイレクトしなければ、&を使っても正しく動作するようです)。&を使った複数ファイルへのリダイレクトについては、のウィンドウがすでにオープンされている状態でもうまく表示されません(ファイル自体は正しく作成されています)。(tee)を使っているpipeline)の出力にも、同様の問題があります。