Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ more(1) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

csh(1)

man(1)

msgs(1)

script(1)

sh(1)

environ(7)

MORE(1)  —  NEWS-OS Programmer’s Manual

名称

more, page − CRT 用のファイル熟読フィルタ

形式

more [ −cdflsu ] [ −n ] [ +linenumber ] [ +/pattern ] [ name ...  ] page more options

解説

more は、ソフトコピーの端末で、長い文書を 1 度に 1 画面ずつ読むためのフィルタです。 通常、1 画面ごとにスクロールしたのち、画面の下部に --More-- と出力して停止します。 ユーザが復帰改行をタイプすれば、さらにもう 1 行表示されます。 ユーザがスペースをタイプすると、次の 1 画面が表示されます。 この他の操作に関しては後述します。

コマンドラインでのオプションは次のとおりです。

−n more がデフォルトの代わりに使用する、画面のサイズ(行数)を指定する整数です。

−c more は、画面上部から各ページを表示し、 各行を書き込む直前に前からある行を消去します。 これは、画面のスクロールを避け、 more が書き込みを行っている間の読み込みをいっそう簡単にさせます。 端末が行末までクリアする機能がない場合には、 このオプションは無視されます。

−d more はユーザに、各画面の末尾で Press space to continue, ’q’ to quit.  というメッセージをプロンプトします。 また、ユーザの誤った入力に対して、ベルを鳴らす代わりに Press ’h’ for instructions.  というメッセージを出力します。 このオプションは、授業などユーザの多くがまだ未熟であるような場合に、 何等かの設定でフィルタとして more が使用される場合に有効です。

−f この more オプションは、画面の行ではなく、論理行数を数えさせます。 この場合、長い行は折り返されません。 nroff の出力が ul にパイプされる場合、文字がエスケープシーケンスによって生成されるので、 このオプションを推奨します。 これらのエスケープシーケンスは、 正規では画面に出力されるはずの文字を含んでいますが、 エスケープシーケンスの一部として端末に送られた場合は表示されません。 そのような場合、 more は 1 行が実際よりも長いと考えて、誤って改行するかもしれません。

−l ^L (フォームフィード) を特別扱いしません。 このオプションを指定しない場合には、 more は ^L を含む行を表示したところで、 画面の最後に達したかのように出力を停止します。 また、ファイルがフォームフィードで始まる場合には、 画面はファイルが出力される前にクリアされます。

−s 連続した複数の空行を、1 行の空行にします。 特にこれは、 nroff 出力を表示する場合に有効です。 このオプションは、画面に表示される有用な情報の量を最大にします。

−u 通常、 more は、 nroff により生成されるようなアンダーラインを、 個々の端末に適切な方法で扱うことができます。 つまり、端末がアンダーラインを表示できたり強調モードを有している場合、 more はアンダーラインや強調モード用のエスケープシーケンスで アンダーラインの情報を出力します。 −u オプションは、この処理を抑止します。

+linenumber
linenumber で指定された行から出力を開始します。

+/pattern
正規表現による pattern (パターン)を含む行の、 2 行前から表示を開始します。

プログラムが page として呼び出された場合には、各画面が出力される前に (全画面が出力される場合だけでなく)画面がクリアされます。 端末に表示できる行数を k とすると、 k − 2 行でなく k − 1 行が各画面に表示されます。

more は、端末の特性をチェックし、デフォルトの画面サイズを決定するために、 /etc/termcap ファイルを調べます。 24 行表示できる端末では、デフォルトの画面サイズは 22 行です。

more は、環境変数 MORE にフラグがプリセットされているかを調べます。 たとえば、ユーザが −c モードでファイルを表示したい場合、 csh のコマンド setenv MORE −c、または sh コマンドのシーケンス MORE=’−c’ ; export MORE を実行しておくと、 man や msgs のようなプログラムから呼び出される場合を含め、全ての MORE の呼び出しでこのモードが使われます。 通常、ユーザは、環境変数 MORE を設定するシーケンスを、ファイル .cshrc または .profile に入れておきます。

more がパイプからでなくファイルから読み込みをする場合、 --More-- のプロンプトと共にパーセンテージが表示されます。 これは、それまでに読まれたファイルの割合(行数でなく文字数での) を与えるものです。

more が停止した時に、入力できる他のシーケンスとその効果は以下とおりです (i はオプションの整数引数で、デフォルトは 1です)。

i<space>
次の i 行を表示する (引数が与えられない場合は次の 1 画面)。

i^D 次の半画面(1 スクロールサイズ)を表示する。 i が与えられると、スクロールサイズは i にセットされる。

id ^D と同じ。

iz (もし) i が指定された場合にスクロールサイズが i にセットされる事を除き、 スペースを入力した場合と同じ。

is i 行分スキップし、1 画面分の行を表示する。

if i 画面分スキップし、1 画面分の行を表示する。

ib i 画面分逆戻り(スキップバック)し、1 画面分の行を表示する。

i^B b と同じ。

q または Q
more を終了する。

= 現在の行番号を表示する。

v 現在の行位置でエディタ vi を起動する。

h ヘルプコマンド。 more のすべてのコマンドの解説を与える。

i/expr 正規表現 expr の i 番目の出現を検索します。 expr の出現が i 個より少なく、 入力が (パイプでなく) ファイルである場合には、 ファイルでの画面の位置はそのまま変更されません。 その他の場合、正規表現が発見された位置の 2 行前から 1 画面分が表示されます。 正規表現の編集には、ユーザの削除/取り消し文字が使えます。 先頭の桁まで取り消した場合、検索コマンドは取り消されます。

in 最後に入力した正規表現の i 番目の出現を検索します。

’ (シングルクォーテーション) 最後に検索を開始した位置に移動します。 現在のファイルについて、まだ検索コマンドが使われていない場合には、 このコマンドはファイルの先頭への移動になります。

!command
コマンド command についてシェルを呼び出します。 command の中の文字 % と !  はそれぞれ、 現在のファイル名と以前のシェルコマンドに置き換えられます。 現在のファイル名が存在しない場合、 % は展開されません。 \% と \!  のシーケンスはそれぞれ % と !  に置き換えられます。

i:n コマンドラインで与えられた i 個次のファイルにスキップします (i が意味を成さない場合、最後のファイルにスキップします)。

i:p コマンドラインで与えられた i 個前のファイルにスキップします。 このコマンドがファイルの表示の途中で与えられた場合、 more はファイルの先頭に戻ります。 i が意味をなさない場合は、 more は最初のファイルに戻ります。 more がファイルから読み込んでる場合でなければ、ベルが鳴り、何も起きません。

:f 現在のファイル名、行数を表示します。

:q または :Q
more を終了する (q または Q と同じ)。

.  (ドット) 直前のコマンドを繰り返す。

コマンドはすぐに効果を発揮します。 つまり、復帰改行を入力する必要はありません。 コマンド文字そのものを打ち込む直前までならば、 行取り消し文字を入力することにより、 コマンド書式の数値引数を取り消すことができます。 そのうえ、削除文字を入力することにより、メッセージ --More--(xx%) を再表示させることができます。

端末に出力が送られている際はいつでも、ユーザは終了キー (通常は control-\)を入力することができます。 more は出力の送り出しを中止し、いつもの --More-- プロンプトを表示します。 それからユーザは、通常の方法で上述のコマンドの 1 つを入力することができます。 あいにくなことに、終了シグナルが発生した際には、 端末の出力キューに入っていた文字はフラッシュされるため、 終了キーを入力した場合にはいくらかの出力が失われてしまいます。

出力が途切れないで行えるように、端末はこのプログラムにより noecho モードに設定されます。 従って、ユーザが打ち込んだ文字は、コマンド / と !  を除き端末には表示されません。

標準出力が端末ではない場合、 (1 つ以上のファイルがある時) 各ファイルの前にヘッダが出力されることを除き、 more は cat とまったく同じ動作になります。

nroff の出力を more でプレビューする場合の使用法の例は、以下のようになります。

nroff −ms +2 doc.n | more −s

関連ファイル

/etc/termcap端末データベース
/usr/lib/locale/LC_MESSAGES/$LANG/more.help ヘルプファイル

関連事項

csh(1), man(1), msgs(1), script(1), sh(1), environ(7)

バグ

大きいファイルでは、逆方向に戻る動作は非常に遅くなります。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026