スポンサーリンク

LESS

名称
書式
解説
コマンド
オプション
行編集
キー割り当て
入力プリプロセッサ
各国文字集合
プロンプト
セキュリティ
環境変数
関連項目
警告
COPYRIGHT
作者

名称

less − more の反対

書式

less -?
less --help
less -V
less --version
less [-[+]aBcCdeEfFgGiIJLmMnNqQrRsSuUVwWX~]
[-b
space] [-h lines] [-j line] [-k keyfile]
[-{oO}
logfile] [-p pattern] [-P prompt] [-t tag]
[-T
tagsfile] [-x tab,...] [-y lines] [-[z] lines]
[-#
shift] [+[+]cmd] [--] [filename]...
(長いオプション名による代替オプション文法に関してはオプション節を参照し てください。)

解説

lessmore (1) と似たプログラムですが、ファイル内での前方移動と同様に 後 方移動も可能となっています。また less は起動時に入力ファイル全体を読 み込む必要がないため、入力ファイルが大きい場合には vi (1) のようなテ キ ス トエディタより速く起動します。 less は termcap(いくつかのシステムで は terminfo) を使用するため、多様な端末上で動作可能です。機能は限られて は いますが、ハードコピー端末においてでさえも動作します。 (ハードコピー 端末では、画面の一番上に表示されるべき行には頭にキャレットが付きます。)

コマンドは morevi の両方に基づいています。コマンドに対し、10 進数値 を前に付けることが可能です。この数値は、以下の説明においては N で表しま す。 コマンドによってはこの数字を使用するものがあり、この用法は以下に示 します。

コマンド

以降の説明で ^X は control-X を意味します。 ESC は ESCAPE キーです。 例 えば ESC-v は "ESCAPE" を押した後に "v" を押すという意味です。

h or H

ヘルプ: これらのコマンドの概要を表示します。もし他のコ マンド全てを忘れたとしても、このコマンドだけは忘れないでくだ さ い。

SPACE or ^V or f or ^F

前 方に N 行、デフォルトでは 1 ウィンドウスクロールします (後述 する -z オプションを参照してください)。 N が画面サイズより大 き い 場合には、最後の表示可能な部分のみが表示されます。警告: いく つかのシステムでは、 ^V は特殊な機能打ち消し文字として使われ て います。

z

SPACE と似ていますが、N を指定すると N が新しいウィンドウサ イズとなります。

ESC-SPACE

SPACE と似ていますが、ファイルの終わりに達した場合でも 1 画面分 スクロールします。

RETURN or ^N or e or ^E or j or ^J

前方に N 行、デフォルトでは 1 行スクロールします。たとえ N が画 面サイズより大きい場合でも、N 行全てを表示します。

d or ^D

前方に N 行、デフォルトでは半画面スクロールします。 N が指定 さ れ た場合、その後の d コマンドと u コマンドの新しいデフォルトサ イズが N になります。

b or ^B or ESC-v

後方に N 行、デフォルトでは 1 ウィンドウスクロールします (後 述 す る -z オプションを参照してください)。 N が画面サイズより大き い場合には、最後の表示可能な部分のみが表示されます。

w

ESC-v と似ていますが、N を指定すると、N が新しいウィンドウサ イズとなります。

y or ^Y or ^P or k or ^K

後方に N 行、デフォルトでは 1 行スクロールします。たとえ N が画 面サイズより大きい場合でも、N 行全てを表示します。警告: いく つ か の システムでは、^Y が特殊なジョブ制御文字として使われていま す。

u or ^U

後方に N 行、デフォルトでは半画面スクロールします。 N が指定 さ れ た場合、その後の d コマンドと u コマンドの新しいデフォルトサ イズが N になります。

ESC-) or RIGHTARROW

右水平方向に N 文字、デフォルトでは画面幅の半分スクロールします (-# オ プションを参照)。数値 N が指定されると、この値が将来の RIGHTARROW および LEFTARROW のデフォルトとなります。文字がス ク ロー ルされている間、(長い行を切り落とす) -S オプションが有効で あるかのように動作します。

ESC-( or LEFTARROW

左水平方向に N 文字、デフォルトでは画面幅の半分スクロールします (-# オ プションを参照)。数値 N が指定されると、この値が将来の RIGHTARROW および LEFTARROW のデフォルトとなります。

r or ^R or ^L

画面を再描画します。

R

画面の再描画をしますが、バッファリングされた入力を破棄 し ま す。ファイルを閲覧中に、ファイルが変更される場合に便利です。

F

前方にスクロールし、ファイルの末尾に達した後も読み続けようと します。通常このコマンドは、既にファイルの終わりに達している 場 合 に 使 われます。このコマンドにより、閲覧中に大きくなり続ける ファイルの末尾を監視できます。 ("tail -f" コマンドと同じよう な 動作をします。)

g or < or ESC-<

ファ イルの N 行目、デフォルトでは 1 行目 (ファイルの始め) に移 動します。 (警告: N が大きいと遅くなります。)

G or > or ESC->

ファイルの N 行目、デフォルトではファイルの終わりに移動します。 (警告: N が大きい場合や、N が指定されておらずしかもファイルでな く標準入力から読み込んでいる場合には遅くなります。)

p or %

ファイルの N パーセント目の位置に移動します。 N は 0 か ら 100 の間でなければなりません。

{

画面内で一番上の行にある左中括弧に対し、 { コマンドで対応す る右中括弧の位置に移動します。対応した右中括弧は画面の最下行 に 表示されます。複数の左中括弧が画面の先頭行にある場合、数字 N で 行の N 個目の括弧かを指定できます。

}

画面内で一番下の行にある右中括弧に対し、 } コマンドで対応 す る 左中括弧の位置に移動します。対応した左中括弧は画面の先頭行に 表示されます。複数の右中括弧が画面の先頭行にある場合、数字 N で 行の N 個目の括弧かを指定できます。

(

{ コマンドと似ていますが、中括弧ではなく小括弧に対して動作し ます。

)

} コマンドと似ていますが、中括弧ではなく小括弧に対して動作し ます。

[

{ コマンドと似ていますが、中括弧ではなく大括弧に対して動作し ます。

]

} コマンドと似ていますが、中括弧ではなく大括弧に対して動作し ます。

ESC-^F

2 つの文字を続けて入力することで、{ コマンドと似た動作 をします。 2 つの文字はそれぞれ開括弧と閉括弧として扱われます。 例 えば "ESC ^F < >" を実行すると、一番上の行に表示されている < に対応する > に進むことができます。

ESC-^B

2 つの文字を続けて入力することで、} コマンドと似た動 作 をします。 2 つの文字はそれぞれ開括弧と閉括弧として扱われます。 例えば "ESC ^B < >" を実行すると、一番下の行に表示されている > に対応する < に戻ることができます。

m

任意の小文字を続けて入力することで、現在の位置を、入力した文 字でマークします。

(シングルクォート)。任意の小文字を続けて入力することで、以前 この文字でマークした位置に戻ります。シングルクォートをもう 1 つ 続けることで、「大きく」移動するコマンド実行前の位置に 戻 り ま す。 ^ や $ で、それぞれファイルの先頭行と最終行にジャンプしま す。新しいファイルを読み込んでもマークは保存されるので、’ コ マ ンドは入力ファイルの切り替えに使うことができます。

^X^X

シングルクォートと同じです。

/pattern

ファイルの中で N 番目の pattern を含む行を前方検索します。 N の デフォルトは 1 です。このパターンは ed で認識される正規表 現 で す。 検索は画面に表示されている第 2 行から始まります (しかし -a と -j オプションはこれを変更しますので、参照してください)。

いくつかの文字はパターンの始めに置かれた場合は特殊文字とされ ま す。 これらの文字はパターンの一部としてではなく検索方法を変更す るために使われます:

^N or !

パターンにマッチしない行を検索します。

^E or *

複数のファイルを検索します。つまり、検索がマッチしないま ま現在のファイルの終わりに達した場合、コマンドラインリス トにある次のファイルで検索を続行します。

^F or @

現在の画面表示や -a または -j オプションの設定に関 係 な く、コマンドラインリストの最初のファイルの先頭行から検索 を開始します。

^K

現在の画面中でマッチする全てのパターンをハイライト表 示しますが、一番始めのマッチする位置へは移動しません (現 在の位置を保持します)。

^R

正規表現のメタキャラクタを解釈しません。つまり、単純 な文字列比較を行います。

?pattern

ファ イルの中で N 番目の pattern を含む行を後方検索します。検索 は、画面の一番上に表示されている行の直前の行から行います。

/ コマンドの時と同様に、いくつかの文字は特殊です:

^N or !

パターンにマッチしない行を検索します。

^E or *

複数のファイルで検索します。つまり、検索がマッチしないま ま現在のファイルの先頭に達した場合、コマンドラインリスト にある前のファイルで検索を続行します。

^F or @

現在の画面表示や -a または -j オプションの設定に関 係 な く、コマンドラインリストにある最後のファイルの最終行から 検索を開始します。

^K

前方検索の時と同じです。

^R

前方検索の時と同じです。

ESC-/pattern

"/*" と同じです。

ESC-?pattern

"?*" と同じです。

n

前回使用した検索パターンを含む N 番目の行に対して検索を繰 り 返 します。前回の検索が ^N で修飾されていた場合、パターンを含ま ない N 番目の行を検索します。前回の検索が ^E で修飾されていた場 合、 現 在 の ファイルで条件が満たされない場合には、次の (前の) ファイルで検索を続けます。前回の検索が ^R で修飾されて い た 場 合、正規表現を用いずに検索を行います。前回の検索が ^F または ^K で修飾されていた場合、その効果はなくなります。

N

前回の検索を逆方向に繰り返します。

ESC-n

前回の検索をファイル境界を越えて繰り返します。前回の検索 が * によって修飾されていた場合と同じです。

ESC-N

前回の検索を逆方向にファイル境界を越えて繰り返します。

ESC-u

検索結果のハイライト表示を元の状態に戻します。現在の検索 パターンにマッチした文字列のハイライト表示をオフにします。も し 既に以前の ESC-u コマンドによりハイライト表示がオフになっている 場合は、ハイライトをオンに戻します。全ての検索コマンドもハイ ラ イト表示をオンに戻します。 (-G オプションでもハイライトをオフに 切り替えることができます。この場合検索コマンドでハイライトが オ ンになることはありません。)

:e [filename]

新 しいファイルを読み込みます。ファイル名が指定されなかった場合 は、コマンドラインのファイルリストから「現在の」ファイル (後 述 す る :n と :p コマンド参照) が読み直されます。 filename 中の パーセント記号 (%) は現在のファイル名で置き 換 え ら れ ま す。 filename 中のシャープ記号 (#) は前に読み込んだファイル名で置き 換えられます。しかし、2 つ続けたパーセント記号は、単純に 1 つの パー セ ン ト記号に置き換えられます。これはパーセント記号を含む ファイル名を入力できるようにするためです。同様に、2 つ 続 け た シャープ記号は、 1 つのシャープ記号に置き換えられます。このファ イル名は、ファイルのコマンドラインリストに挿入されるので、そ の 後 の :n コ マンドと :p コマンドで閲覧できるようになります。 filename に複数のファイルを指定すると、全てをファイルリストに加 え、 最初のファイルを読み込みます。ファイル名が、複数のスペース を含む場合、ファイル名全体はダブルクォートで囲まれていなけれ ば なりません (-" オプションも参照してください)。

^X^V or E

:e コマンドと同じです。警告: いくつかのシステムでは ^V が特殊な 機能打ち消し文字として使われています。そのような シ ス テ ム で は、^V を使うことはできないでしょう。

:n

(コマンドラインで与えられたファイルリストから) 次のファイル を読み込みます。数字 N が指定されている場合は、N 個後のファイル を読み込みます。

:p

コマンドラインリストの中にある前のファイルを読み込みます。 数字 N が指定されている場合は、N 個前のファイルを読み込みます。

:x

コマンドラインリストの中の一番最初のファイルを読み込みま す。数字 N が指定されている時は、N 番目のファイルを読み込 み ま す。

:d

現在閲覧中のファイルをファイルリストから削除します。

t

現在のタグにマッチするものが複数個あった場合、次のタグに移動 します。タグに関する詳細は −t オプションを参照してください。

T

現在のタグにマッチするものが複数個あった場合、前のタグに移動 します。

= or ^G or :f

閲 覧中のファイルについて、ファイル名、表示中の最下行の行番号と バイトオフセットといった情報を表示します。可能な場合には、 ファ イ ルの長さ、ファイルの行数、表示中の最下行より上にあるファイル の割り合い (パーセント) も表示します。

コマンドラインオプション文字 (後述するオプション参照) のうち の 1 つを続けて入力することで、オプション設定を変更し新しい設定 を解説するメッセージを表示 し ま す。 ダッ シュ の 直 後 に ^P (CONTROL-P) が 入力された場合、オプションの設定は変更されます が、メッセージは表示されません。オプション文字が、(-b や -h の よ う に) 数値を持ったり、 (-P や -t のように) 文字列値を持つ場 合、オプション文字の後に新しい値を入力します。値を入力しな かっ た 場合、現在の設定を示すメッセージを表示するのみで、設定は変わ りません。

−−

− コマンドと似ていますが、1 文字オプションではなく、長い オ プ ショ ン 名 (後述するオプション節を参照) を受け付けます。オプ ション名を打ち込んだ後に RETURN を押す必要があります。 2 個目の ダッシュ直後の ^P は − コマンドと同じように、新しい設定を解説す るメッセージの表示を抑制します。

−+

コマンドラインオプション文字のうちの 1 つを続けて入力するこ と で、オプションをデフォルト設定に戻して、新しい設定を表示しま す。 ("−+X" コマンドは、コマンドラインで "−+X" とするのと同じで す。) このコマンドは文字列の値を持つオプションには働きません。

−−+

−+ コマンドと似ていますが、1 文字オプションではなく、長い オプション名を受け付けます。

−!

コマンドラインオプション文字のうちの 1 つを続けて入力するこ と で、オプションをデフォルト設定の「反対」にして、新しい設定を 表示します。このコマンドは数値または文字列の値を持つオプショ ン には働きません。

−−!

−! コマンドと似ていますが、1 文字オプションではなく、長い オプション名を受け付けます。

_

(アンダスコア。) コマンドラインオプション文字のうちの 1 つを 続 けて入力することで、そのオプションの現在設定を表示します。オ プションの設定は変化しません。

__

(2 つのアンダスコア。) _ (アンダスコア) コマンドと似てい ま す が、1 文字オプションではなく、長いオプション名を受け付けま す。オプション名を打ち込んだ後に RETURN を押す必要があります。

+cmd

新しいファイルを読み込む度に、指定したコマンド cmd を実行 し ます。例えば +G は less がファイルを最初に表示する際に、始め ではなく終わりから表示させます。

V

現在起動している less のバージョンを表示します。

q or Q or :q or :Q or ZZ

less を終了します。

以下の 4 つのコマンドが有効であるかどうかは、インストールした方法に依存 します。

v

現在閲覧しているファイルを編集するため、エディタを起動しま す。エディタは、環境変数 VISUAL が定義されている場合はその値 が 用いられます。 VISUAL が定義されていない時は、EDITOR の値が使わ れます。もし VISUAL も EDITOR も定義されていない場合は、"vi" が デ フォルトになります。後述するプロンプト節の LESSEDIT に関する 話題も参照してください。

! shell-command

与えられたシェルコマンドを実行するため、シェルを起動します。 コ マンド中のパーセント記号 (%) は現在のファイル名で置き換えられま す。コマンド中のシャープ記号 (#) は前に読み込んだファイル名で置 き 換えられます。 "!!" は、直前のシェルコマンドを繰り返します。 シェルコマンドを伴わない "!" は、単にシェルを起動します。 Unix システムでは、シェルは環境変数 SHELL で設定されたもの、もしくは デフォルトの "sh" です。 MS-DOS や OS/2 システムでは、シェル は 通常のコマンドプロセッサです。

| <m> shell-command

<m> は任意のマーク文字です。入力ファイルのある部分を、与えられ たシェルコマンドにパイプで渡します。渡されるファイルの部分 は、 現 在の画面の一番上の行から文字でマークされた場所までです。 <m> が ^ と $ の場合、それぞれファイルの先頭行と最終行を示しま す。 <m> が . または改行の場合、現在の画面がパイプで渡されます。

s filename

入 力をファイルに保存します。このオプションは入力が一般のファイ ルでなく、パイプの時のみ有効です。

オプション

コマンドラインオプションを以下に説明します。大部分のオプション は less の実行中に "−" コマンドを用いて変更できます。

多くのオプションは 1 つのダッシュの後に 1 つの文字か、または 2 つのダッ シュの後に長いオプション名の 2 つの形式のうち片方で指定できます。長いオ プ ショ ン 名 は 省 略 が あ い ま いでない長さまで省略できます。例えば --quit-at-eof は --quit と省略できますが、 --quit-at-eof と --quiet の 両 方が --qui で始まるので、 --qui とは省略できません。いくつかの長いオ プション名は --QUIT-AT-EOF のように、 --quit-at-eof とは別に大 文 字 に なっています。このようなオプション名は最初の 1 文字が大文字になっていれ ばよく、名前の残りは大文字でも 小 文 字 で も 構 い ま せ ん。 例 え ば --Quit-at-eof は --QUIT-AT-EOF と同等です。

オ プションは環境変数 "LESS" の値からも取られます。例えば less を起動す る度に "less -options ..." とタイプするのを避けるには、 csh では:

setenv LESS "-options"

sh を使っている場合は:

LESS="-options"; export LESS

とします。 MS-DOS 上では、クォートする必要はありませんが、オプション 文 字 列 中のパーセント記号を 2 つのパーセント記号に置き換える必要がありま す。

環境変数は、コマンドラインより先に解析されますので、コマンドラインオ プ ショ ンは、環境変数 LESS に優先します。あるオプションが環境変数 LESS に あった場合でも、コマンドラインオプションに "-+" を含めて起動すると、 そ のオプションはデフォルトにリセットされます。

-P または -D オプションのように、後に文字列が続くオプションでは、ドル記 号 ($) が文字列の終わりを表す記号として使われます。例えば MS-DOS 上 で -D オプションを 2 つ設定するには、下記のようにそれらの間にドル記号を入 れる必要があります:

LESS="-Dn9.1$-Ds4.1"

-? or --help

このオプションは、 less が受け付けるコマンドの概要を表示しま す (h コマンドと同じです)。 (使用しているシェルが疑問符をどのよう に解釈するかに依存し、 "-\?" のように疑問符をクォートする必要が あるかもしれません。)

-a or --search-skip-screen

画 面 に 表示されている最下行の次の行から検索を開始します。つま り、現在画面に表示されている行中の検索は行いません。デフォル ト では、検索は画面中の第 2 行目 (もしくは最後に検索対象が見付かっ た行のあと; -j オプション参照) から行われます。

-bn or --buffers=n

less が各ファイルに対して使うバッファ領域の大きさを、キロバイト (1024 バイト) 単位で指定します。デフォルトでは各ファイルに対し 64K のバッファ領域が使用されます (ファイルがパイプの場合は違 い ま す; -B オプションを参照)。その代わりに -b オプションは、各 ファイルに対して n キロバイトのバッファ領域を使うよう指定 し ま す。 n が -1 の場合、バッファ領域は無制限となります。これにより ファイル全体がメモリに読み込まれます。

-B or --auto-buffers

データがパイプから読み込まれる場合、デフォルトではバッファは 必 要 に応じて自動的に割り当てられます。そのため、大容量のデータが パイプから読み込まれる場合、多くのメモリを割り当ててし ま い ま す。 -B オプションはパイプに対するバッファの自動的な割り当てを 禁止しますので、 64K (もしくは -b オプションで指定された 容 量) だ け がパイプに使用されます。警告: -B オプションを使った場合、 ファイルの最も最近閲覧している部分しかメモリに保持されず以前 の データが無くなっているため、誤った表示になる場合があります。

-c or --clear-screen

全 画面の再描画を、先頭行から下に向かって行わせるようにします。 デフォルトでは、全画面の再描画は、画面の最終行からのスクロー ル によって行われます。

-C or --CLEAR-SCREEN

-C オプションは、-c オプションと似ていますが、画面をクリアして から再描画します。

-d or --dumb

-d オプションは端末がダム端末の場合、通常表示されるエ ラー メッ セー ジの表示を抑制します。ダム端末とは画面のクリア、後方にスク ロールといったいくつかの重要な機能がない端末のことをいいま す。 -d オプションは、それ以外の点についてはダム端末における less の 挙動を変化させません。

-Dxcolor or --color=xcolor

[MS-DOS のみ] 表示する文字の色を設定します。 x は設定する文字の 種類を表す 1 文字です: n=標準, s=強調, d=太字, u=下線, k=点滅。 color は、ピリオドで区切られた数値の組です。 1 つ目の数値で文字 の 前 景色、2 つ目の数値で文字の背景色を選びます。単独の数値、N は、N.0 と同じです。

-e or --quit-at-eof

ファイルの終わりに 2 度達した際に、自動的に less を終了さ せ ま す。デフォルトでは、 less は "q" コマンドでのみ終了できます。

-E or --QUIT-AT-EOF

ファ イ ルの終わりに 1 度達した際に、自動的に less を終了させま す。

-f or --force

非標準ファイルを強制的にオープンさせます。 (非標準ファ イ ル と は、 ディレクトリまたはデバイス型特殊ファイルのことです。) また バイナリファイルをオープンする際の警告メッセージも表示 し ま せ ん。 デ フォ ルトでは less は非標準ファイルのオープンを拒否しま す。

-F or --quit-if-one-screen

ファイル全体が最初の画面に表示可能だった場合には、 less を自 動 的に終了させます。

-g or --hilite-search

通 常、 less は、前回の検索コマンドでマッチした画面中全ての文字 列をハイライト表示します。 -g オプションは、この動作を前回の 検 索 コマンドでマッチした文字列のみをハイライト表示するように変更 します。このオプションは、 less の動作をデフォルトより多少速 く します。

-G or --HILITE-SEARCH

-G オプションは、検索コマンドで見付かった文字列に対する全てのハ イライト表示を抑制します。

-hn or ---max-back-scroll=n

後方にスクロールする最大行数を指定します。もし n 行を上回って後 方 にスクロールする必要がある場合は、代わりに画面が前方に向かっ て再描画されます。 (端末が後方に戻る機能を持たない場 合 は、-h0 が暗に意味されています。)

-i or --ignore-case

大 文字小文字の区別をしません。つまり、大文字と小文字を同一と見 なして検索を行います。このオプションは、検索パターンに大文字 が 含 まれていた場合には無視されます。いいかえると、検索パターンに 大文字が含まれていた場合、大文字小文字の区別をした検索 を し ま す。

-I or --IGNORE-CASE

-i コマンドと似ていますが、検索パターンが大文字を含んでいた場合 でも、大文字小文字の違いを無視して検索をします。

-jn or --jump-target=n

「ターゲット」行の位置を画面上の何行目に表示するか指定しま す。 ター ゲット行とは、文字検索、タグ検索、行番号へのジャンプ、ファ イルのパーセンテージでのジャンプ、マーク位置へのジャンプの対 象 と な る 行です。画面の行は数字で指定します: 画面の一番上の行は 1、その次の行は 2、以下同様に指定します。画面の最終行から何行目 か を 指 定する場合は、数値を負に指定します: 画面の一番下の行は -1、下から 2 行目は -2、以下同様に指定します。 -j オプション が 用 い ら れている場合、検索はターゲット行の直後の行から始まりま す。例えば "-j4" の場合、ターゲット行は画面の 4 行目なので、 検 索は画面の 5 行目から始まります。

-J or --status-column

画 面の左端にステータスカラムを表示します。現在の検索にマッチし た行数をステータスカラムに表示します。ステータスカラムは -w ま たは -W オプションが有効な場合にも使用されます。

-kfilename or --lesskey-file=filename

指 定 したファイルを lesskey (1) のファイルであるとして less に オープンさせ、処理させます。複数の -k オプションを指定するこ と もできます。環境変数 LESSKEY または LESSKEY_SYSTEM が設定された 場合、あるいは lesskey ファイルが標準位置 (キー割り当ての節を参 照) に見付かった場合、そのファイルも lesskey ファイルとして使用 されます。

-L or --no-lessopen

LESSOPEN 環境変数を無視します (下記の「入力プリプロセッサ」の章 を参照)。このオプションは less の中から設定できますが、それは現 在オープンしているファイルには適用されず、以降にオープンされ る ファイルにのみ適用されます。

-m or --long-prompt

less に (more のような)、冗長なパーセント表示のプロンプトを表示 させます。デフォルトでは、 less は、コロンのプロンプトを表示 し ます。

-M or --LONG-PROMPT

more より、さらに冗長なプロンプトを less に表示させます。

-n or --line-numbers

行 番号の使用を抑制します。 (行番号を使用する) デフォルトの設定 では、特に、入力ファイルが非常に大きな場合に less の速度の低 下 を 引き起こすことがあります。 -n オプションで行番号の使用を抑制 することで、この問題を避けられます。行番号の使用とは、冗長な プ ロ ンプトと = コマンドでの行番号の表示と、 v コマンドが現在の行 番号をエディタに渡すことです (下記のプロン プ ト 節 に お け る LESSEDIT に関する話題も参照してください)。

-N or --LINE-NUMBERS

画面の各行の先頭に行番号を表示します。

-ofilename or --log-file=filename

less の入力ファイルを閲覧されている状態のまま、指定した名前の ファイルにコピーします。このオプションは入力ファイルが通常 ファ イ ルではなく、パイプである場合にのみ適用されます。ファイルが既 に存在する場合は、 less は上書きする前に確認を求めます。

-Ofilename or --LOG-FILE=filename

-O オプションは -o に似ていますが、既にあるファイルを確認するこ となく上書きします。

ログファイルが指定されてない場合、 -o と -O オプションは、 less のなかから、ログファイルを指定するために使えます。ファイル名 を 指定しない場合は、単にログファイル名を表示するだけです。 "s" コ マンドは、 less のなかから、-o を指定するのと同等です。

-ppattern or --pattern=pattern

コマンドラインでの -p オプションは、 +/pattern を指定するのと同 じです。つまり、 less はファイル中で pattern が最初に現れるとこ ろから表示を開始します。

-Pprompt or --prompt=prompt

3 つのプロンプトスタイルを好みに合わせて仕立てる方法を提供し ま す。 このオプションは通常、 less コマンドを呼び出す度に打込んだ りせずに、環境変数 LESS で指定します。このオプション は、 変 数 LESS の中で最後のオプションになっているか、ドル記号で終了してい る必要があります。 -Ps の後の文字列は、デフォルトの (短い) プロ ンプトをその文字列に変更します。 -Pm は、中間の (-m) プロンプト を変更します。 -PM は、長い (-M) プロンプトを変更しま す。 -Ph は、ヘルプ画面のプロンプトを変更します。 -P= は、= コマンドで表 示されるメッセージを変更します。 -Pw は、(F コマンド中で) デー タ 待ちの間に表示されるメッセージを変更します。全てのプロンプト 文字列は、文字と特別なエスケープシーケンスの連続から構成され ま す。詳細は、プロンプト節を参照してください。

-q or --quiet or --silent

適 度に「静かな」動作にします: ファイルの終わりを越えて、または ファイルの始まりを越えてスクロールしようとした場合に端末ベル が 鳴 らなくなります。端末が「ビジュアルベル」を持っている場合は代 わりにそれを使います。無効な文字を打った時のような、その他の 確 か なエラーに関してはベルを鳴らします。デフォルトでは、全ての場 合において端末ベルを鳴らします。

-Q or --QUIET or --SILENT

完全に「静かな」動作にします: 端末ベルは全く鳴らしません。

-r or --raw-control-chars

制御文字を「そのまま」表示します。デフォルトでは、制御 文 字 を キャ レッ ト を 使って表示します。例えば control-A (8 進数 001) は、"^A" と表示します。警告: -r オプションが使われる と、 less は、(画面が各制御文字の種類にどのように反応するかに依存している ために) 画面の実際の表示状態を追うことができません。よって長 い 行 が誤った位置で分割されてしまうといったような、多くの表示上の 問題が生じます。

-R or --RAW-CONTROL-CHARS

-r と似ていますが、可能な限り画面の表示状態を追おうとします。こ の 機能は入力が通常の文字といくつかの ANSI 「カラー」エスケープ シーケンスからなっている場合にのみ働きます。 ANSI 「カラー」 エ スケープシーケンスとは

ESC [ ... m

の よ う な形式で、"..." には 0 個以上の "m" でない文字が入りま す。画面表示状態を追うために、全ての制御文字と全ての ANSI カ ラー エスケープシーケンスはカーソルを動かさないと仮定されます。 カラーエスケープシーケンスを終了させることのできる文字のリス ト を LESSANSIENDCHARS 環境変数に設定することにより、"m" 以外の文 字が ANSI カラーエスケープシーケンスを終了できることを less に 教えることができます。

-s or --squeeze-blank-lines

連続した空白行を、1 行の空白行にまとめます。これは、 nroff の出 力を閲覧する際に便利です。

-S or --chop-long-lines

画面幅より長い行を折り返さずに切り捨てます。つまり、長い行の ス ク リーンの幅に入らない部分は表示されません。デフォルトでは長い 行を折り返します。つまり残りが次の行に表示されます。

-ttag or --tag=tag

-t オプションの直後にはタグ名が続き、そのタグを含むファイルを編 集 します。このオプションを使うためには、タグ情報が必要です。例 えば、 ctags (1) コマンドであらかじめ作られた "tags" と呼ばれる ファ イ ル がカレントディレクトリにあるかもしれません。環境変数 LESSGLOBALTAGS が設定された場合、これは global (1) 互換のコマン ド の名前として解釈され、このコマンドがタグを見付けるために使用 されます (http://www.gnu.org/software/global/global.html を 参 照)。 -t オプションは、 less の中から (− コマンドを用いて) 新し いファイルを読み込む方法として指定することもできます。コマン ド ":t" は、 less の中で、-t を指定するのと同じです。

-Ttagsfile or --tag-file=tagsfile

"tags" の代わりに使用するタグファイルを指定します。

-u or --underline-special

バックスペースと復帰文字 (carriage return) を印刷可能文字として 扱います。つまり、これらが入力に現れた時は端末に送られます。

-U or --UNDERLINE-SPECIAL

バックスペース、タブ、復帰文字を制御文字として扱いま す。 つ ま り、 こ れ らの文字は -r オプションで指定されたものとして扱いま す。

-u と -U のどちらも指定されていない場合、デフォルトでは下線文字 の 隣にあるバックスペースは特別に扱われます。すなわち、下線の引 かれた文字が、端末のハードウェア下線機能を使って表示されま す。 さらに、同一の 2 文字の間にあるバックスペースも特別な扱われ方を します。すなわち、重ね打ちされた文字が、端末のハードウェア太 字 機 能を使って表示されます。その他のバックスペースは、前の文字と 共に削除されます。直後に改行が続く復帰文字は、削除されます。 そ の 他の復帰文字は -r オプションで指定されたように扱われます。重 ね打ちや下線の引かれた文字の検索は -u と -U のどちらも有効で な い場合にのみ可能です。

-V or --version

less のバージョン番号を表示します。

-w or --hilite-unread

1 ページ前方に移動した後最初の「新しい」行を一時的にハイライト 表示します。最初の「新しい」行とは、移動前に画面の最後だった 行 の 直後の行のことです。また g や p コマンドの後、ターゲット行を ハイライト表示します。ハイライト表示は次の移動を伴うコマンド で 消去されます。行の全てがハイライト表示されますが、-J オプション が有効な場合は、ステータスカラムのみがハイライト表示されます。

-W or --HILITE-UNREAD

-w と似ていますが、1 行より多く前方に移動する全てのコマンドのあ と、最初の新しい行を一時的にハイライト表示します。

-xn,... or --tabs=n,...

タ ブストップを設定します。単一の n だけが指定された場合、 n の 倍数の位置にタブストップが設定されます。複数の値がコン マ で 区 切っ て指定された場合、タブストップは、これらの位置と、残りは最 後の 2 個の間隔に、配置されます。例えば -x9,17 はタブストップを 位置 9, 17, 25, 33 等に設定します。デフォルトの n は 8 です。

-X or --no-init

端 末に、termcap 初期化文字列と非初期化文字列を送らないようにし ます。画面をクリアする際のように非初期化文字列が何か不必要な こ とをする場合には、望ましい場合があります。

--no-keypad

端 末に、キーパッド初期化文字列と非初期化文字列を送らないように します。キーパッド文字列が数値キーパッドを変な風に動作させて し まう場合、これが有用な場合があります。

-yn or --max-forw-scroll=n

前方にスクロールする最大行数を指定します。もし n 行を上回って前 方にスクロールする必要がある場合は、代わりに画面が再描画され ま す。必要ならば、-c か -C オプションを使用して、画面の先頭から再 描画できます。デフォルトでは、全ての前方移動はスクロールにな り ます。

-[z]n or --window=n

デ フォ ルトのスクロールするウィンドウの大きさを n 行に変更しま す。デフォルトは 1 画面分の行数です。 z と w コマンドはウィンド ウの大きさを変更するためにも使えます。 z は、 more との互換性の ために省略できます。数値 n が負の場合は、現在の画面サイズより n 行 小さくウィンドウサイズを設定することを意味しています。例えば 画面が 24 行の場合、-z-4 はスクロールするウィンドウを 20 行に設 定 することを意味しています。画面が 40 行に変更された場合には、 スクロールウィンドウは自動的に 36 行に変更されます。

-"cc or --quotes=cc

ファイル名をクォートする文字を変更します。スペースとクォート 文 字 の両方を含むファイル名を指定する場合にはこのオプションが必要 となるでしょう。 1 文字続けた場合、クォート文字が指定した文字に 変 更されます。この場合スペースを含むファイル名はダブルクォート ではなく、この文字で囲まなければなりません。また、2 文字続け た 場 合 は、 1 文字目が開クォートに、2 文字目が閉クォートになりま す。この場合スペースを含むファイル名の前に開クォート文 字 を お き、 ファイル名の後に閉クォート文字をおきます。引用文字を変更し た後でも、このオプションは -" (ダッシュの後にダブルクォート) の ままであることに注意してください。

-~ or --tilde

通常、ファイルの終わりより後の行は、1 つのチルダ (~) で表示され ます。このオプションを使うと、ファイルの終わりより後の行を空 白 行で表示します。

-# or --shift

RIGHTARROW と LEFTARROW コマンドで水平スクロールするデフォルト の桁数を指定します。 0 を指定した場合には、デフォルトの数は画面 幅の半分の桁数になります。

--

コマンドライン引数 "--" は、オプション引数の終わりを示しま す。この後の、いかなる引数もファイル名として解釈されます。こ の オプションは、"-" や "+" で名前が始まるファイルを閲覧する場合に 便利です。

+

あるコマンドラインオプションが + で始まる場合、オプション の 残 り は、 less に初期コマンドとして渡されます。例えば +G は、 less が、ファイルの始めではなくファイルの終わりを表示して起動す るように働きます。また、オプション +/xyz は、ファイル中で "xyz" が初めて現れる場所から起動させるように働きます。特殊な場合と し て、+<number> は +<number>g と同じ働きをします。つまり、このオ プションでは指定された行番号から表示が始まります (ただし、上 記 の "g" コマンドの注意書きを参照のこと)。もしこのオプションが ++ で始められた場合は、初期コマンドは閲覧する最初のファイルにだ け でなく全てのファイルに対して適用されます。上述した "+" コマンド も、全てのファイルに対する初期コマンドの設定 (および変更) に 使 われます。

行編集

画 面 の 一番下でコマンドラインに (例えば :e コマンドに対するファイル名 や、検索コマンドに対するパターンを) 入力する際に、いくつかのキーをコ マ ン ドラインを操作するために使用できます。多くのコマンドは、ある種のキー ボードでキーが存在しない場合でも使用できるように、[ 大括弧 ] 中にある代 替 形 式 を 持っています。 (大括弧の中の形式は、MS-DOS 版では機能しませ ん。) これらの特殊キーはどれでも、^V や ^A といった「リテラル」文字を前 に 置くことで文字として入力できます。バックスラッシュ自身は、2 つのバッ クスラッシュを入力することで、文字として入力できます。

LEFTARROW [ ESC-h ]

カーソルを 1 文字分左へ移動します。

RIGHTARROW [ ESC-l ]

カーソルを 1 文字分右へ移動します。

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]

(CONTROL と LEFTARROW を同時入力) カーソルを 1 単語分左へ移動し ます。

^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]

(CONTROL と RIGHTARROW を同時入力) カーソルを 1 単語分右へ移動 します。

HOME [ ESC-0 ]

カーソルを行頭へ移動します。

END [ ESC-$ ]

カーソルを行末へ移動します。

BACKSPACE

カーソルの左にある文字の消去、または、コマンドラインが空の場 合 にコマンドをキャンセルします。

DELETE or [ ESC-x ]

カーソルの下にある文字を消去します。

^BACKSPACE [ ESC-BACKSPACE ]

(CONTROL と BACKSPACE を同時入力) カーソルの左にある単語を消去 します。

^DELETE [ ESC-X or ESC-DELETE ]

(CONTROL と DELETE を同時入力) カーソルの下にある単語を消去しま す。

UPARROW [ ESC-k ]

前のコマンドラインを呼び出します。

DOWNARROW [ ESC-j ]

次のコマンドラインを呼び出します。

TAB

カーソルの左にある部分的なファイル名を補完します。複数の ファイル名にマッチした場合は、最初にマッチしたファイル名がコ マ ンドラインに入力されます。 TAB を繰り返し打つと、マッチした他の ファイル名を順番に表示します。補完したファイル名がディレクト リ の 場 合、"/" がファイル名に付け加えられます (MS-DOS システムで は、"\" が付け加えられます)。ディレクトリ名に異なる文字を付け加 えたい場合は、環境変数 LESSSEPARATOR で指定できます。

BACKTAB [ ESC-TAB ]

TAB と似ていますが、マッチしたファイル名を逆順に循環して入力し ます。

^L

カーソルの左にある部分的なファイル名を補完します。 複 数 の ファ イル名にマッチした場合は、 (もし収まれば) マッチした全ての ファイル名がコマンドラインに入力されます。

^U (Unix と OS/2) or ESC (MS-DOS)

全てのコマンドラインを消去するか、またはコマンドが空の場合に は コマンドをキャンセルします。 Unix において、line-kill 文字を ^U 以外の文字に変更している場合は、その文字が ^U の代わりに使わ れ ます。

キー割り当て

lesskey ファイルを作成する lesskey (1) を用いて、独自の less コマンドを 定義できます。このファイルはコマンドキーの集合とそれぞれのキーに関係 づ けられた動作を指定します。また、 lesskey を使って行編集キー (行編集を参 照) を変更したり、環境変数を設定したりできます。環境変数 LESSKEY が設定 さ れ ている場合には、 less は lesskey ファイル名としてその値を使用しま す。設定されていない場合、 less は、標準の位置にある lesskey ファイルを 探 します: Unix システムでは、 less は "$HOME/.less" という名前のファイ ルを探します。 MS-DOS と Windows システムでは、 less は "$HOME/_less" と いう lesskey ファイルを探し、そこに見つからない場合は、環境変数 PATH で指定されている全てのディレクトリの下にある "_less" と い う lesskey ファ イルを探します。 OS/2 システムでは、 less は "$HOME/less.ini" とい う lesskey ファイルを探し、見つからない場合は、環境変数 INIT で指定され て いる全てのディレクトリの下にある "less.ini" ファイルを探し、そこに見 つからない場合は、環境変数 PATH で指定されている全てのディレクトリの 下 にある "less.ini" ファイルを探します。詳細は、 lesskey のマニュアルペー ジを参照してください。

システム標準 lesskey ファイルを用いてキー割り当てを提供することもできま す。あるキーがローカル lesskey ファイルとシステム標準ファイルの両方に見 つかった場合は、システム標準のものよりもローカルファイルのキー割り当 て が 優 先されます。環境変数 LESSKEY_SYSTEM が設定されていた場合は、 less はシステム標準 lesskey ファイルとしてその値を使用します。設定されてない 場 合、 less はシステム標準 lesskey ファイルを標準の場所で探します。 Unix システムでは、システム標準ファイルは /usr/local/etc/sysless です。 ( ただし、 less が /usr/local/etc とは別の sysconf ディレクトリで作成さ れていた場合は、そのディレクトリで sysless は見つかります。) MS-DOS と Windows シ ステムでは、システム標準 lesskey ファイルは c:\_sysless で す。 OS/2 システムでは、システム標準 lesskey ファイルは c:\sysless.ini です。

入力プリプロセッサ

less に対して、「入力プリプロセッサ」を定義できます。 less はファイルを オープンする前に、まず入力プリプロセッサで入力ファイルの内容の表示方 法 を 変 更 する機会を与えます。入力プリプロセッサは、ファイルの内容を代替 ファイルと呼ばれる別ファイルに書き出す単純な実行可能プログラム (また は シェ ルスクリプト) です。そして代替ファイルの内容がオリジナルファイルの 内容の代わりに表示されます。しかし、ユーザにとってはオリジナルファイ ル が オープンされているかのように見えます。つまり less は現在のファイルの 名前としてオリジナルファイルの名前を表示します。

入力プリプロセッサは、ユーザによって入力されたオリジナルファイル名を コ マンドライン引数として 1 つ受け付けます。入力プリプロセッサは代替ファイ ルを作成し、また終了した際に代替ファイル名を標準出力に表示しなければ な り ま せん。入力プリプロセッサが代替ファイル名を出力しない場合は、 less は通常どおりオリジナルファイルを使用します。入力プリプロセッサは、標 準 入 力を閲覧する場合には呼び出されません。入力プリプロセッサを設定するた めには、入力プリプロセッサを呼び出すコマンドラインを環境変 数 LESSOPEN に設定します。このコマンドラインは、文字列 "%s" を 1 つ含んでいなければ なりません。これは、入力プリプロセッサコマンドが呼び出される際に、 ファ イル名に置き換えられます。

less がそのようにしてオープンしたファイルをクローズする際には、入力ポス トプロセッサと呼ばれるもう 1 つのプログラムを呼び出します。このプログラ ム は、(LESSOPEN によって作られた代替ファイルを消去するといった) 必要な 全ての後処理を行います。このプログラムは、ユーザによって入力されたオ リ ジナルファイル名と代替ファイル名の 2 つを引数として受け付けます。入力ポ ストプロセッサを設定するためには、入力ポストプロセッサを呼び出すコマ ン ドラインを環境変数 LESSCLOSE に設定します。入力ポストプロセッサコマンド はファイル名に置き換えられる文字列 "%s" を 2 つ含んでいます。1 つ 目 は ファ イルのオリジナルの名前に置き換えられ、2 つ目は LESSOPEN の出力であ る代替ファイルの名前に置き換えられます。

例えば多くの Unix システムでは、次の 2 つのスクリプトにより圧縮されてい る ファ イ ルを圧縮された状態のまま less でそのファイルを直接閲覧できま す。

lessopen.sh:

#! /bin/sh

case "$1" in

*.Z)

uncompress -c $1 >/tmp/less.$$ 2>/dev/null

if [ -s /tmp/less.$$ ]; then

echo /tmp/less.$$

else

rm -f /tmp/less.$$

fi

;;

esac

lessclose.sh:

#! /bin/sh

rm $2

これらのスクリプトを使うためには、それらの両方を実行可能な場所に置 き、 LESSOPEN="lessopen.sh %s", LESSCLOSE="lessclose.sh %s %s" と設定しま す。異なった種類の圧縮ファイルなどを受け付けるより複雑な LESSOPEN と LESSCLOSE スクリプトを書くこともできるでしょう。

デー タを代替ファイルに書き出さず、直接 less にパイプするような入力プリ プロセッサを設定することも可能です。こうすることにより、閲覧する前に 圧 縮 ファイル全体を展開することを避けられます。このような働きをする入力プ リプロセッサは、入力パイプと呼ばれます。入力パイプは、代替ファイル名 を 標 準出力に表示する代わりに、代替ファイルの内容全てを標準出力に書き出し ます。入力パイプが標準出力に何も書き出さない場合は代替ファイルはな く、 less は通常どおりオリジナルファイルを使用します。入力パイプを使う場合 は、入力プリプロセッサが入力パイプであることを知らせるために、環境変 数 LESSOPEN の最初の文字を、縦棒 (|) に設定します。

例 えば多くの Unix システムで、このスクリプトは上述したスクリプト例と似 た働きをします。

lesspipe.sh:

#! /bin/sh

case "$1" in

*.Z)

uncompress -c $1 2>/dev/null

;;

esac

このスクリプトを使うためには、これを 実 行 可 能 な 場 所 に 置 い て、 LESSOPEN="|lesspipe.sh %s" と設定します。入力パイプを使用する際もポスト プロセッサ LESSCLOSE を使用できますが、削除する代替ファイルがないので通 常 必要ありません。この例では、LESSCLOSE ポストプロセッサに渡される代替 ファイル名は "-" です。

各国文字集合

入力ファイルには、3 種類の文字が含まれています。

通常文字

画面に直接表示できる文字。

制御文字

画面に直接表示すべきではありませんが、(バックスペースやタブのよ うに) 普通のテキストファイル中で見つかることが予期される文字。

バイナリ文字

画 面に直接表示すべきではなく、テキストファイル中で見つかること が予期されていない文字。

「文字集合」は簡潔にいうとどの文字が通常文字、制御文字、バイナリ文字 と して考えられるかということです。環境変数 LESSCHARSET で文字セットを選択 できます。環境変数 LESSCHARSET に設定できるのは:

ascii

BS, TAB, NL, CR, formfeed が制御文字で、 32 と 126 の 間 の値を持つ全ての文字が通常で、その他全てがバイナリです。

iso8859

ISO 8859 文字集合を選択します。 160 から 255 までが通常文字とし て扱われること以外は、ASCII と同じです。

latin1

iso8859 と同じです。

latin9

iso8859 と同じです。

dos

MS-DOS に適した文字集合を選択します。

ebcdic

EBCDIC 文字集合を選択します。

IBM-1047

OS/390 Unix Services が使用する EBCDIC 文字を選択します。これが EBCDIC に お け る latin1 相 当 で す。 環 境 変 数 で LESSCHARSET=IBM-1047 か LC_CTYPE=en_US とすると、同等の効果が得 られます。

koi8-r

ロシアの文字集合を選択します。

next

NeXT コンピュータに適した文字集合を選択します。

utf-8

ISO 10646 文字集合の UTF-8 符号を選択します。

ある特殊な場合には、 less が LESSCHARSET で指定できない文字セットを使う ように調整したい場合があります。このような場合、環境変数 LESSCHARDEF を 用 いて文字集合を定義できます。この環境変数は、文字列中の各文字が、文字 集合中の 1 文字を表すように設定します。文字 "." は通常文字を表すのに 使 わ れ、文字 "c" は制御文字を、文字 "b" はバイナリ文字を表します。 10 進 数は繰り返しに使用できます。例えば "bccc4b." は値 0 の文字がバイナ リ、 1, 2, 3 は制御、4, 5, 6, 7 はバイナリ、そして 8 は通常文字を意味しま す。最後の文字より後の文字は全て最後の文字と同じと扱われるので、 9 から 255 までの文字は通常となります。 (これは例なので、必ずしもなにか実際の 文字集合セットを表しているわけではありません。)

下の表は、LESSCHARSET として有効な値に対し、それぞれ等価な LESSCHARDEF の値を示しています。

ascii

8bcccbcc18b95.b

dos

8bcccbcc12bc5b95.b.

ebcdic

5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b

9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.

IBM-1047

4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc

191.b

iso8859

8bcccbcc18b95.33b.

koi8-r

8bcccbcc18b95.b128.

latin1

8bcccbcc18b95.33b.

next

8bcccbcc18b95.bb125.bb

LESSCHARSET と LESSCHARDEF の どちらも設定されていない場合、文字列 "UTF-8" が LC_ALL, LC_TYPE, LANG のいずれかの環境変数に見付かれ ば、 デ フォルトの文字集合は utf-8 になります。

この文字列が見付からない場合でも、システムが setlocale インタフェースを サポートしていれば、 less は文字集合の決定に setlocale を使用し ま す。 setlocale は環境変数 LANG もしくは LC_CTYPE で制御されます。

最後に、 setlocale インタフェースも使えない場合、デフォルトの文字集合は latin1 になります。

制御文字とバイナリ文字は強調 (反転) して表示されます。これらの文字は そ れぞれ可能であるならば (例えば control-A を ^A というように) キャレット 表記で表示されます。キャレット表記は、0100 ビットを反転した結果が印刷可 能 文字になる場合にのみ使用されます。そうでない場合は、山括弧で囲まれた 16 進数で表します。このフォーマットは、環境変数 LESSBINFMT により変更で き ま す。 LESSBINFMT は "*"で始まり、もう1つの文字で表示属性を選択しま す: "*k" は点滅、"*d" は太字、"*u" は下線、 "*s" は強調、そ し て、"*n" は通常です。 LESSBINFMT が "*" で始まっていない場合は、通常属性と仮定し ます。 LESSBINFMT の残りの部分は、1 つの printf スタイルのエ ス ケー プ シー ケ ン ス (x, X, o, d な どが後ろに続く %) を含む文字列です。 LESSBINFMT が "*u[%x]" の場合、バイナリキャラクタは大括弧で囲まれた 16 進 数 に 下線をして表示されます。 LESSBINFMT が指定されていない場合のデ フォルトは、"*s<%X>" です。

プロンプト

-P オプションにより、プロンプトを好みに合わせて仕立てることができます。 -P オプションに与えられた文字列は、指定したプロンプト文字列を置き換えま す。文字列中のある文字は特殊な解釈をされます。プロンプト機構は柔軟性 を 持 たせるために少々複雑になっていますが、一般のユーザは、個人用プロンプ ト文字列の作り方の詳細を理解する必要はありません。

パーセント記号は後に続く 1 文字が何かによって展開のされ方が異なります:

%bX

現在の入力ファイルでのバイトオフセットで置き換えられます。 b の後には、(上記で X で示されている) 1 文字が続き、どの行のバ イトオフセットを使用するかを指定します。その文字が "t" の 場 合 は、画面の先頭行のバイトオフセットが使われます。 "m" の場合は真 中の行、"b" の場合は最下行、 "B" の場合は最下行の直後の 行 の、 "j" の場合には -j オプションで指定したターゲット行のバイトオフ セットを使うことを意味しています。

%B

現在の入力ファイルの大きさに置き換えられます。

%c

画面の最初の桁に表示されている文字の桁番号に置き換えられ ま す。

%dX

ある行が存在する入力ファイル中のページ番号に置き換えられま す。使用する行は %b オプションと同じように X で決定されます。

%D

入力ファイルのページ数、いいかえると入力ファイルの最終行 の ページ番号に置き換えられます。

%E

エディタの名前 (環境変数 VISUAL、VISUAL が定義されていない 場合は環境変数 EDITOR) に置き換えられます。後述する LESSEDIT 機 能に関する話題を参照してください。

%f

現在の入力ファイル名に置き換えられます。

%i

入力ファイルのリスト中における現在のファイルのインデックス で置き換えらます。

%lX

ある行の入力ファイル中での行番号で置き換えられます。使用す る行は %b オプションと同じように X で決定されます。

%L

入力ファイルの最終行の行番号で置き換えられます。

%m

入力ファイルの合計数で置き換えられます。

%pX

現在の入力ファイルでのバイトオフセットに基づいたパーセント で置き換えられます。使用する行は %b オプションと同じように X で 決定されます。

%PX

現在の入力ファイルでの行番号に基づいたパーセントで置き換え られます。使用する行は %b オプションと同じように X で決定されま す。

%s

%B と同じです。

%t

後に続くスペースを取り除きます。通常は文字列の最後に使われ ますが、どこに置いても構いません。

%x

ファイルリストのうち次の入力ファイル名で置き換えられます。

もし (例えば入力がパイプのためファイルサイズが分からない場合など) 項 目 が不明な場合は、代わりに疑問符が表示されます。

プ ロンプト文字列のフォーマットは、ある条件によって変更できます。疑問符 とその後に続く 1 文字で、"IF" のように働き、どのような文字が続くか で、 条 件が評価されます。条件が真ならば、疑問符と条件文字の後に続く文字列か らピリオドまでがプロンプトの中に表示されます。条件が偽ならば、そのよ う な 文字列はプロンプトに挿入されません。疑問符とピリオドの間にあるコロン は、"ELSE" として働き、コロンとピリオドの間にある文字列は、IF の条件 が 偽 の場合にのみプロンプト文字列に挿入されます。 (疑問符に続く) 条件文字 には次のようなものがあります:

?a

プロンプトに既に任意の文字列が含まれている場合に真。

?bX

指定した行のバイトオフセットが既知の場合に真。

?B

現在の入力ファイルの大きさが既知の場合に真。

?c

文字が水平に移動している (%c が 0 でない) 場合に真。

?dX

指定した行のページ番号が既知の場合に真。

?e

ファイルの終わりの場合に真。

?f

入力ファイル名がある (つまり、入力がパイプでない) 場 合 に 真。

?lX

指定した行の行番号が既知の場合に真。

?L

ファイルの最終行の行番号が既知の場合に真

?m

複数の入力ファイルがある場合に真。

?n

新しい入力ファイルの最初のプロンプトの場合に真。

?pX

指定した行の現在の入力ファイルでのバイトオフセットに基づく パーセントが既知の場合に真。

?PX

指定した行の現在の入力ファイルでの行番号に基づくパーセント が既知の場合に真。

?s

"?B" と同じです。

?x

次の入力ファイルがある (つまり、現在の入力ファイルが最後の ファイルでない) 場合に真。

特殊文字 (疑問符、コロン、ピリオド、パーセント、バックスラッシュ) 以 外 の 全ての文字がプロンプトにそのまま表示されます。特殊文字をプロンプトに そのまま表示させるには、その文字の前にバックスラッシュを置きます。

例:

?f%f:Standard input.

このプロンプトは、ファイル名が既知の場合にはファイル名を、そうでない 場 合には "Standard input" と表示します。

?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

こ のプロンプトはファイル名が既知の場合に表示します。行番号が既知の場合 には、ファイル名に続けて行番号を表示します。もし行番号が既知でなく パー セ ントが既知の場合には、パーセントを表示します。パーセントも既知でなく バイトオフセットが既知の場合には、バイトオフセットを表示します。バイ ト オ フセットも既知でない場合には、ダッシュを表示します。各疑問符にピリオ ドがどのように対応しているかに注意してください。また、%pt の後の % を実 際 に挿入するために、バックスラッシュでエスケープしていることに注意して ください。

?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t

このプロンプトがファイルにおける最初のプロンプトの場合にはファイル名 を 表示します。さらに、複数のファイルがある場合には、 "file N of N" という メッセージを加えます。そして、ファイルの終わりに達した場合には、文字 列 "(END)" が表示され、引き続いて次のファイルがある場合にはそのファイル名 を表示します。最後に、後に続くスペースを切り詰めます。これはデフォル ト の プロンプトです。参考として、(-m と -M オプションに対応する) 2 つのプ ロンプトのデフォルトを挙げます。ここでは読みやすさのために 2 行に分けて います。

?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:

?pB%pB\%:byte %bB?s/%s...%t

?f%f .?n?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :

byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t

そ し て、次に挙げるのは = コマンドで表示されるデフォルトのメッセージで す。

?f%f .?m(file %i of %m) .?ltlines %lt-%lb?L/%L. .

byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

プロンプト展開の機能は他の目的でも使われます: 環境変数 LESSEDIT が定 義 されている場合、この変数は v コマンドで実行されるコマンドとして使われま す。 LESSEDIT の文字列は、プロンプト文字列と同じ方法で展開さ れ ま す。 LESSEDIT のデフォルトの値は以下のとおりです:

%E ?lm+%lm. %f

この文字列は、エディタ名と、その後に + と行番号、その後にファイル名とい うように展開されます。あなたの指定したエディタが、"+行番号" という構 文 を 受 け 付けない場合や、呼び出しの構文が違う場合には、このデフォルトの LESSEDIT を修正できます。

セキュリティ

環境変数 LESSSECURE が 1 に設定されている場合、 less は「安全な」モード で実行されます。この場合、以下の機能は使えません:

!

シェルコマンド

|

パイプコマンド

:e

ファイルの読み込みコマンド

v

編集コマンド

s -o

ファイルの記録

-k

lesskey ファイルの使用

-t

タグファイルの使用

ファイル名での * といったメタキャラクタ

ファイル名補完 (TAB, ^L)

less を「安全な」モードでしか実行できないようにコンパイルすることも可能 です。

環境変数

環境変数は普通にシステム環境で設定するか、または lesskey (1) ファイルで 指 定 で き ま す。環境変数が複数の個所で定義されている場合、ローカルな lesskey ファイルでの変数定義、システム環境での変数定義、システ ム 標 準 lesskey ファイルでの変数定義の順で優先されます。

COLUMNS

画面の 1 行あたりの桁数を設定します。環境変数 TERM で設定された 桁数よりも優先されます。 (ただし画面サイズを知ることが で き る TIOCGWINSZ または WIOCGETD をサポートしているウィンドウシステム を使用しているのであれば、その情報が環境変数 LINES と COLUMNS よりも優先されます。)

EDITOR

(v コマンドで使用される) エディタの名前。

HOME

(Unix および OS/2 のシステムで lesskey ファイルを探すのに 使われる) ユーザのホームディレクトリ名。

HOMEDRIVE, HOMEPATH

変数 HOME が設定されていない場合に、環 境 変 数 HOMEDRIVE と HOMEPATH を連結した名前がユーザのホームディレクトリになります (Windows 版のみ)。

INIT

(OS/2 システムで lesskey ファイルを探すのに使われる) ユー ザの init ディレクトリ名。

LANG

文字集合を決定するための言語。

LC_CTYPE

文字集合を決定するための言語。

LESS

自動的に less に渡されるオプション。

LESSANSIENDCHARS

ANSI カラーエスケープシーケンスを終了させるとみなす文字 (デフォ ルトは "m")。

LESSBINFMT

印字可能文字でもなく、制御文字でもない文字を表示する際の フォー マット。

LESSCHARDEF

文字集合を定義します。

LESSCHARSET

あらかじめ定義された文字集合を選択します。

LESSCLOSE

(オプションの) 入力ポストプロセッサを呼び出すためのコマンドライ ン。

LESSECHO

lessecho プログラムの名前 (デフォルトは、"lessecho")。 lessecho プログラムは、Unix システムにおいてファイル名の * や ? といった メタキャラクタの展開に必要です。

LESSEDIT

(v コマンドで使用される) エディタのプロトタイプ文字列。プロンプ ト節での話題を参照してください。

LESSGLOBALTAGS

グ ローバルタグを探すために -t オプションが使用するコマンド名。 global (1) コマンドがある場合、通常、"global" です。設定され て いない場合、グローバルタグは使用されません。

LESSKEY

デフォルトの lesskey(1) ファイル名。

LESSKEY_SYSTEM

デフォルトのシステム標準 lesskey(1) ファイル名。

LESSMETACHARS

シェルに「メタキャラクタ」として解釈される文字のリスト。

LESSMETAESCAPE

less がシェルにコマンドを送る際にメタキャラクタの前に付加するプ レフィックス。 LESSMETAESCAPE が空の文字列である場合、メタ キャ ラクタを含むコマンドはシェルに送られません。

LESSOPEN

( オ プションの) 入力プリプロセッサを呼び出すためのコマンドライ ン。

LESSSECURE

less を「安全な」モードで実行させます。セキュリティ節での話題を 参照してください。

LESSSEPARATOR

ファイル名補完においてディレクトリ名に付加される文字列。

LINES

画面の行数を設定します。環境変数 TERM で設定された行数よ りも優先されます。 (ただし画面サイズ を 知 る こ と が で き る TIOCGWINSZ または WIOCGETD をサポートしているウィンドウシステム を使用しているのであれば、その情報が環境変数 LINES と COLUMNS よりも優先されます。)

PATH

(MS-DOS と OS/2 システムで lesskey ファイルを探すのに使わ れる) ユーザの検索パス。

SHELL

! コマンドを実行したり、ファイル名の補完に使用されるシェ ル。

TERM

less が実行されている端末の種類。

VISUAL

(v コマンドで使用される) エディタ名。

関連項目

lesskey(1)

警告

(-P オプションで変更されない限り) = コマンドとプロンプトで表示される行 番号は画面の先頭行と最終行のものですが、表示されるバイト数とパーセン ト は画面の最終行の後のものです。

:e コマンドが複数のファイルに対して使われ、ファイルのうちの 1 つが既に 閲覧されている場合、新しいファイルは予期しない順番でリストに入るかも し れません。

あ る種の古い端末 (いわゆる「マジッククッキー」端末) では、検索の際のハ イライト表示が誤った表示を起こします。そのような端末では、この問題を 避 け る た め、検索の際のハイライト表示がデフォルトで無効に設定されていま す。

検索の際のハイライト表示が有効で、検索パターンが ^ で始まっている場合、 あ る特定の条件下ではマッチした文字列以上の部分までハイライト表示される ことがあります。 (この問題は less が POSIX 正規表現パッケージを用いてコ ンパイルされている場合には起きません。)

-R オプションを使用して、ANSI 色エスケープシーケンスを含むテキストを見 ている場合、検索は、エスケープシーケンスが埋め込まれたテキストを見付 け ら れません。また、検索によるハイライトが、ハイライトテキストに続くテキ ストの色を変えてしまうかもしれません。

あるシステムでは、 setlocale が 0 から 31 の ASCII 文字をバイナリ文字で は なく制御文字であると主張します。そのためいくつかのバイナリファイルが less に普通の非バイナリファイルとして扱われてしまいます。この問題を回避 す る には、環境変数 LESSCHARSET を "ascii" (もしくは、何か適切な文字集 合) に設定します。

こ の バー ジョ ン の less の 最 新 の 既 知 な バ グ の リ ス ト は http://www.greenwoodsoftware.com/less を参照してください。

COPYRIGHT

Copyright (C) 2002 Mark Nudelman

less is part of the GNU project and is free software. You can redistribute it and/or modify it under the terms of either (1) the GNU General Public License as published by the Free Software Foundation; or (2) the Less License. See the file README in the less distribution for more details regarding redistribution. You should have received a copy of the GNU General Public License along with the source for less; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. You should also have received a copy of the Less License; see the file LICENSE.

less is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

作者

Mark Nudelman <markn@greenwoodsoftware.com>
バグ報告やコメントは上記のアドレスまたは bug-less@gnu.org へ送ってく だ さい。
更 な る 情 報 に つ い て は less ホー ム ペー ジ の http://www.greenwoodsoftware.com/less を参照してください。

スポンサーリンク