EN JA
LESS(1)
LESS(1) FreeBSD General Commands Manual LESS(1)

名称

less - more の反対

書式

less -?
 
less --help
 
less -V
 
less --version
 
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
 
[-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]...
 
(長いオプション名がある代替オプションの構文については、「オプション」セクションを参照してください。)
 

解説

less は、 more (1) と同様のプログラムですが、ファイルの前進と同様に、ファイルを後退することができます。また、 less は、開始する前に全体の入力ファイルを読み込む必要がないので、大きな入力ファイルで、 vi (1) のようなテキストエディタより速く始動します。 less は、termcap (または、いくつかのシステムでは、terminfo) を使用するので、様々な端末で実行することができます。ハードコピー端末のためのサポートは、さらに制限されています。 (ハードコピー端末において、画面の一番上に印刷 (表示) されるべき行は、キャレットが前に付けられます。)

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

 

コマンド

以降の説明で ^X は、control-X を意味します。 ESC は、ESCAPE キーです。例えば ESC-v は、"ESCAPE"を押した後に "v"を押すという意味です。
h または H
ヘルプ: これらのコマンドの概要を表示します。もし他のコマンド全てを忘れたとしても、このコマンドだけは忘れないでください。
SPACE または ^V または f または ^F
前方に N 行、デフォルトでは、1 ウィンドウスクロールします (後述する-z オプションを参照してください)。 N が画面サイズより大きい場合には、最後の表示可能な部分のみが表示されます。警告: いくつかのシステムでは、 ^V は、特殊な機能打ち消し文字として使われています。
z
SPACE と似ていますが、N を指定すると N が新しいウィンドウサイズとなります。
ESC-SPACE
SPACE と似ていますが、ファイルの終わりに達した場合でも 1 画面分スクロールします。
ENTER または RETURN または ^N または e または ^E または j または ^J
前方に N 行、デフォルトでは、1 行スクロールします。たとえ N が画面サイズより大きい場合でも、N 行全てを表示します。
d または ^D
前方に N 行、デフォルトでは、半画面スクロールします。 N が指定された場合、その後の d コマンドと u コマンドの新しいデフォルトサイズが N になります。
b または ^B または ESC-v
後方に N 行、デフォルトでは、1 ウィンドウスクロールします (後述する-z オプションを参照してください)。 N が画面サイズより大きい場合には、最後の表示可能な部分のみが表示されます。
w
ESC-v と似ていますが、N を指定すると、N が新しいウィンドウサイズとなります。
y または ^Y または ^P または k または ^K
後方に N 行、デフォルトでは、1 行スクロールします。たとえ N が画面サイズより大きい場合でも、N 行全てを表示します。警告: いくつかのシステムでは、^Y が特殊なジョブ制御文字として使われています。
u または ^U
後方に N 行、デフォルトでは、半画面スクロールします。 N が指定された場合、その後の d コマンドと u コマンドの新しいデフォルトサイズが N になります。
ESC-) または RIGHTARROW
右水平方向に N 文字、デフォルトでは、画面幅の半分スクロールします (-# オプションを参照)。数値 N が指定されると、この値が将来の RIGHTARROW と LEFTARROW のデフォルトとなります。文字がスクロールされている間、(長い行を切り落とす) -S オプションが有効であるかのように動作します。
ESC-( または LEFTARROW
左水平方向に N 文字、デフォルトでは、画面幅の半分スクロールします (-# オプションを参照)。数値 N が指定されると、この値が将来の RIGHTARROW と LEFTARROW のデフォルトとなります。
r または ^R または ^L
画面を再描画します。
R
画面の再描画をしますが、バッファリングされた入力を破棄します。ファイルを閲覧中に、ファイルが変更される場合に便利です。
F
前方にスクロールし、ファイルの末尾に達した後も読み続けようとします。通常このコマンドは、既にファイルの終わりに達している場合に使われます。このコマンドにより、閲覧中に大きくなり続けるファイルの末尾を監視できます。 ("tail -f"コマンドと同じような動作をします。)
ESC-F
F に似ていますが、最後の検索パターンと一致する行が見つかるとすぐに、端末のベルが鳴らされ、前方のスクロールは、停止します。
g または <または ESC-<
ファイルの N 行目、デフォルトでは、1 行目 (ファイルの始め) に移動します。 (警告: N が大きいと遅くなります。)
G または >または ESC->
ファイルの N 行目、デフォルトでは、ファイルの終わりに移動します。 (警告: N が大きい場合や、N が指定されておらずしかもファイルでなく標準入力から読み込んでいる場合には、遅くなります。)
p または %
ファイルの N パーセント目の位置に移動します。 N は、0 と 100 の間であるべきで、小数点を含むこともできます。
P
ファイルのバイトオフセット N を含む行に移動します。
{
画面内で一番上の行にある左中括弧に対し、 { コマンドで対応する右中括弧の位置に移動します。対応した右中括弧は、画面の最下行に表示されます。複数の左中括弧が画面の先頭行にある場合、数字 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 です。このパターンは、利用者のシステムによって提供されている正規表現ライブラリによって認識される正規表現です。検索は、画面に表示されている第 1 行から始まります (しかし-a と-j オプションは、これを変更しますので、参照してください)。
 
いくつかの文字は、パターンの始めに置かれた場合は、特殊文字とされます。これらの文字は、パターンの一部としてではなく検索方法を変更するために使われます:
^N または !
パターンにマッチしない行を検索します。
^E または *
複数のファイルを検索します。つまり、検索がマッチしないまま現在のファイルの終わりに達した場合、コマンド行のリストにある次のファイルで検索を続行します。
^F または @
現在の画面表示や-a または-j オプションの設定に関係なく、コマンド行のリストの最初のファイルの先頭行から検索を開始します。
^K
現在の画面中でマッチする全てのパターンをハイライト表示しますが、一番始めのマッチする位置へは移動しません (現在の位置を保持します)。
^R
正規表現のメタキャラクタを解釈しません。すなわち、単純な文字列比較を行います。
?pattern
ファイルの中で N 番目の pattern を含む行を後方検索します。検索は、画面の一番上に表示されている行の直前の行から行います。
 
/ コマンドの時と同様に、いくつかの文字は、特殊です:
^N または !
パターンにマッチしない行を検索します。
^E または *
複数のファイルで検索します。つまり、検索がマッチしないまま現在のファイルの先頭に達した場合、コマンド行のリストにある前のファイルで検索を続行します。
^F または @
現在の画面表示や-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 オプションでもハイライトをオフに切り替えることができます。この場合検索コマンドでハイライトがオンになることはありません。)
&pattern
パターン (pattern) にマッチする行だけ表示します。パターンにマッチしない行は、表示されません。パターンが空であるなら (&をタイプして、すぐに ENTER を続けるなら)、フィルタリングは、オフにされ、すべての行が表示されます。フィルタリングが有効である間は、ファイルのいくつかの行が隠されていることを暗示するために、プロンプトの始めにアンパサンドが表示されます。
 
特定の文字は、/ コマンドのように特別です:
^N または !
パターンにマッチ「しない」行だけを表示します。
^R
正規表現のメタキャラクタを解釈しません。すなわち、単純な文字列比較を行います。
:e [filename]
新しいファイルを読み込みます。ファイル名が指定されなかった場合は、コマンド行のファイルリストから「現在の」ファイル (後述する :n と :p コマンド参照) が読み直されます。 filename 中のパーセント記号 (%) は、現在のファイル名で置き換えられます。 filename 中のシャープ記号 (#) は、前に読み込んだファイル名で置き換えられます。しかし、2 つ続けたパーセント記号は、単純に 1 つのパーセント記号に置き換えられます。これは、パーセント記号を含むファイル名を入力できるようにするためです。同様に、2 つ続けたシャープ記号は、 1 つのシャープ記号に置き換えられます。このファイル名は、ファイルのコマンド行のリストに挿入されるので、その後の :n コマンドと :p コマンドで閲覧できるようになります。 filename に複数のファイルを指定すると、全てをファイルリストに加え、最初のファイルを読み込みます。ファイル名が、複数のスペースを含む場合、ファイル名全体は、ダブルクォートで囲まれていなければなりません (-"オプションも参照してください)。
^X^V または E
:e コマンドと同じです。警告: いくつかのシステムでは、^V が特殊な機能打ち消し文字として使われています。そのようなシステムでは、^V を使うことはできないでしょう。
:n
(コマンド行で与えられたファイルリストから) 次のファイルを読み込みます。数字 N が指定されている場合は、N 個後のファイルを読み込みます。
:p
コマンド行のリストの中にある前のファイルを読み込みます。数字 N が指定されている場合は、N 個前のファイルを読み込みます。
:x
コマンド行のリストの中の一番最初のファイルを読み込みます。数字 N が指定されている時は、N 番目のファイルを読み込みます。
:d
現在閲覧中のファイルをファイルリストから削除します。
t
現在のタグにマッチするものが複数個あった場合、次のタグに移動します。タグに関する詳細は、-t オプションを参照してください。
T
現在のタグにマッチするものが複数個あった場合、前のタグに移動します。
= または ^G または :f
閲覧中のファイルについて、ファイル名、表示中の最下行の行番号とバイトオフセットといった情報を表示します。可能な場合には、ファイルの長さ、ファイルの行数、表示中の最下行より上にあるファイルの割り合い (パーセント) も表示します。
-
コマンド行のオプション文字 (後述するオプション参照) のうちの 1 つを続けて入力することで、オプション設定を変更し新しい設定を解説するメッセージを表示します。ダッシュの直後に ^P (CONTROL-P) が入力された場合、オプションの設定は、変更されますが、メッセージは、表示されません。オプション文字が、(-b や-h のように) 数値を持ったり、 (-P や-t のように) 文字列値を持つ場合、オプション文字の後に新しい値を入力します。値を入力しなかった場合、現在の設定を示すメッセージを表示するのみで、設定は、変わりません。
--
-コマンドと似ていますが、1 文字オプションではなく、長いオプション名 (後述するオプションのセクションを参照) を受け付けます。オプション名を打ち込んだ後に ENTER または RETURN を押さなければなりません。 2 個目のダッシュ直後の ^P は、-コマンドと同じように、新しい設定を解説するメッセージの表示を抑制します。
-+
コマンド行のオプション文字のうちの 1 つを続けて入力することで、オプションをデフォルト設定に戻して、新しい設定を表示します。 ("-+ X"コマンドは、コマンド行で "-+ X"とするのと同じです。) このコマンドは、文字列の値を持つオプションには働きません。
--+
-+ コマンドと似ていますが、1 文字オプションではなく、長いオプション名を受け付けます。
-!
コマンド行のオプション文字のうちの 1 つを続けて入力することで、オプションをデフォルト設定の「反対」にして、新しい設定を表示します。このコマンドは、数値または文字列の値を持つオプションには働きません。
--!
-! コマンドと似ていますが、1 文字オプションではなく、長いオプション名を受け付けます。
_
(アンダスコア。) コマンド行のオプション文字のうちの 1 つを続けて入力することで、そのオプションの現在設定を表示します。オプションの設定は、変化しません。
__
(2 つのアンダスコア。) _ (アンダスコア) コマンドと似ていますが、1 文字オプションではなく、長いオプション名を受け付けます。オプション名を打ち込んだ後に ENTER または RETURN を押さなければなりません。
+cmd
新しいファイルを読み込む度に、指定したコマンド cmd を実行します。例えば、+G は、 less がファイルを最初に表示する際に、始めではなく終わりから表示させます。
V
現在起動している less のバージョンを表示します。
q または Q または :q または :Q または 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 にあった場合でも、コマンド行のオプションに "-+"を含めて起動すると、そのオプションは、デフォルトにリセットされます。

 

-k または-D のようないくつかのオプションは、オプション文字に続く文字列を要求します。そのオプションための文字列は、ドル記号 ($) が見つかるとき、終了すると見なされます。例えば、次のように MS-DOS で 2 つの-D オプションを設定することができます:

 

LESS="Dn9.1$Ds4.1"

 

--use-backslash オプションがオプションの前に現われるなら、ドル記号またはバックスラッシュは、その前にバックスラッシュを付けることによってオプションの文字列は、、そのまま含めることができます。 --use-backslash オプションが有効でないなら、バックスラッシュは、特別に扱われず、オプションの文字列にドル記号を含ませる方法は、ありません。

-? または--help
このオプションは、 less が受け付けるコマンドの概要を表示します (h コマンドと同じです)。 (使用しているシェルが疑問符をどのように解釈するかに依存し、 "-\?"のように疑問符をクォートする必要があるかもしれません。)
-a または--search-skip-screen
デフォルトで、前方検索は、表示された画面の最上行で開始され、後方検索は、表示された画面の最下行で開始されます (それぞれ、"ターゲット"行の後または前で開始される、 n または N コマンドによって呼び出される繰り返えされる検索を除いて、ターゲット行については、-j オプション参照)。-a オプションによって、前方検索は、画面の最下行で代わりに開始され、後方検索は、画面の最上行で開始されます、したがって、仮面に表示されたすべて行は、スキップされます。
-A または--SEARCH-SKIP-SCREEN
すべての前方検索は、(ただ繰り返されない検索でなく) ターゲット行の直後で開始さいれ、すべての後方検索は、ターゲット行の直前で開始されます。したがって、前方検索は、(最初の行からターゲット行含めた) 表示された画面の一部をスキップします。同様に、後方検索は、最後の行からターゲット行含めて表示された画面をスキップします。これは、441 より前の less バージョンでのデフォルトの振る舞いでした。
-b n または--buffers= n
less が各ファイルに対して使うバッファ領域の大きさを、キロバイト (1024 バイト) 単位で指定します。デフォルトでは、各ファイルに対し 64K のバッファ領域が使用されます (ファイルがパイプの場合は違います;-B オプションを参照)。その代わりに-b オプションは、各ファイルに対して n キロバイトのバッファ領域を使うよう指定します。 n が-1 の場合、バッファ領域は、無制限となります。すなわち、ファイル全体をメモリに読み込むことができます。
-B または--auto-buffers
データがパイプから読み込まれる場合、デフォルトでは、バッファは、必要に応じて自動的に割り当てられます。そのため、大容量のデータがパイプから読み込まれる場合、多くのメモリを割り当ててしまいます。-B オプションは、パイプに対するバッファの自動的な割り当てを禁止しますので、 64K (または、-b オプションで指定された容量) だけがパイプに使用されます。警告: -B の使用は、パイプされたデータの最も最近見られる部分だけがメモリに保持され、以前のデータが無くなってるので、誤った表示となるかもしれません。
-c または--clear-screen
全画面の再描画を、先頭行から下に向かって行わせるようにします。デフォルトでは、全画面の再描画は、画面の最終行からのスクロールによって行われます。
-C または--CLEAR-SCREEN
less の古いバージョンとの互換性のために-c と同じです。
-d または--dumb
-d オプションは、端末がダム端末の場合、通常表示されるエラーメッセージの表示を抑制します。ダム端末とは画面のクリア、後方にスクロールといったいくつかの重要な機能がない端末のことをいいます。-d オプションは、それ以外の点については、ダム端末における less の挙動を変化させません。
-D x color または--color= x color
[MS-DOS のみ] 表示する文字の色を設定します。 x は、設定する文字の種類を表す 1 文字です: n=標準, s=強調, d=太字, u=下線, k=点滅。 color は、ピリオドで区切られた数値の組です。 1 つ目の数値で文字の前景色、2 つ目の数値で文字の背景色を選びます。単独の数値、 N は、 N.M と同じです、ここで、 M は、通常の背景色です。
 
-e または--quit-at-eof
ファイルの終わりに 2 度達した際に、自動的に less を終了させます。デフォルトでは、 less は、"q"コマンドでのみ終了できます。
-E または--QUIT-AT-EOF
ファイルの終わりに 1 度達した際に、自動的に less を終了させます。
-f または--force
非標準ファイルを強制的にオープンさせます。 (非標準ファイルとは、ディレクトリまたはデバイス型特殊ファイルのことです。) またバイナリファイルをオープンする際の警告メッセージも表示しません。デフォルトでは、 less は、非標準ファイルのオープンを拒否します。いくつかのオペレーティングシステムでは、たとえ-f が設定されても、ディレクトリを読み込むことができないことに注意してください。
-F または--quit-if-one-screen
ファイル全体が最初の画面に表示可能だった場合には、 less を自動的に終了させます。
-g または--hilite-search
通常、 less は、前回の検索コマンドでマッチした画面中全ての文字列をハイライト表示します。-g オプションは、この動作を前回の検索コマンドでマッチした文字列のみをハイライト表示するように変更します。このオプションは、 less の動作をデフォルトより多少速くします。
-G または--HILITE-SEARCH
-G オプションは、検索コマンドで見つかった文字列に対する全てのハイライト表示を抑制します。
-h n または--max-back-scroll= n
後方にスクロールする最大行数を指定します。もし n 行を上回って後方にスクロールする必要がある場合は、代わりに画面が前方に向かって再描画されます。 (端末が後方に戻る機能を持たない場合は、-h0 が暗に意味されています。)
-i または--ignore-case
大文字小文字の区別をしません。つまり、大文字と小文字を同一と見なして検索を行います。このオプションは、検索パターンに大文字が含まれていた場合には、無視されます。いいかえると、検索パターンに大文字が含まれていた場合、大文字小文字の区別をした検索をします。
-I または--IGNORE-CASE
-i コマンドと似ていますが、検索パターンが大文字を含んでいた場合でも、大文字小文字の違いを無視して検索をします。
-j n または--jump-target= n
「ターゲット」行の位置を画面上の何行目に表示するか指定します。ターゲット行は、パターンの検索、行番号へのジャンプ、ファイルのパーセンテージでジャンプ、またはタグへのジャンプのコマンドによって指定された行です。画面の行は、数字で指定されます: 画面の一番上の行は、1、その次の行は、2、以下同様に指定します。画面の最終行から何行目かを指定する場合は、数値を負に指定します: 画面の一番下の行は、-1、下から 2 行目は、-2、以下同様に指定します。代わりに、画面の行は、小数点から始まり、画面の高さの割合で指定されます: .5 は、画面の中央で、.3 は、最初の行から 3/10 下、その他です。行が割合として指定される場合、端末のウィンドウがリサイズされるなら、ターゲットの行が画面の高さの指定された割合でとどまるように、実際の行番号は、再計算されます。-j オプションのどれかの形式が使用されているなら、前方検索は、ターゲット行の直後の行で始まり、後方検索は、-a または-A で変更されなければ、ターゲット行で始まります。例えば、"-j4"が使用されているなら、ターゲット行は、画面の 4 行目であるので、前方検索は、画面の 5 行目から始まります。
-J または--status-column
画面の左端にステータスカラムを表示します。現在の検索にマッチした行数をステータスカラムに表示します。ステータスカラムは、-w または-W オプションが有効な場合にも使用されます。
-k filename または--lesskey-file= filename
指定したファイルを lesskey (1) のファイルであるとして less にオープンさせ、処理させます。複数の-k オプションを指定することもできます。 LESSKEY または LESSKEY_SYSTEM 環境変数が設定されるなら、または lesskey ファイルが標準の場所 (「キー割り当て」を参照) で見つかるなら、それも lesskey ファイルとして使用されます。
-K または--quit-on-intr
割り込み文字 (通常 ^C) がタイプされるとき、 less は、(ステータス 2 で) 直ちに終了します。通常、割り込み文字によって、 less は、行っていることを停止し、コマンドプロンプトに戻ります。このオプションの使用で "F"コマンドからコマンドプロンプトに戻ることができなくなることに注意してください。
-L または--no-lessopen
LESSOPEN 環境変数を無視します (下記の「入力プリプロセッサ」の章を参照)。このオプションは、 less の中から設定できますが、それは、現在オープンしているファイルには適用されず、以降にオープンされるファイルにのみ適用されます。
-m または--long-prompt
less に ( more のような)、冗長なパーセント表示のプロンプトを表示させます。デフォルトでは、 less は、コロンのプロンプトを表示します。
-M または--LONG-PROMPT
more より、さらに冗長なプロンプトを less に表示させます。
-n または--line-numbers
行番号の使用を抑制します。 (行番号を使用する) デフォルトの設定では、特に、入力ファイルが非常に大きな場合に less の速度の低下を引き起こすことがあります。-n オプションで行番号の使用を抑制することで、この問題を避けられます。行番号の使用とは、冗長なプロンプトと = コマンドでの行番号の表示と、 v コマンドが現在の行番号をエディタに渡すことです (下記のプロンプトのセクションにおける LESSEDIT に関する話題も参照してください)。
-N または--LINE-NUMBERS
画面の各行の先頭に行番号を表示します。
-o filename または--log-file= filename
less の入力ファイルを閲覧されている状態のまま、指定した名前のファイルにコピーします。このオプションは、入力ファイルが通常ファイルではなく、パイプである場合にのみ適用されます。ファイルが既に存在する場合は、 less は、上書きする前に確認を求めます。
-O filename または--LOG-FILE= filename
-O オプションは、-o に似ていますが、既にあるファイルを確認することなく上書きします。
 
ログファイルが指定されてない場合、-o と-O オプションは、 less のなかから、ログファイルを指定するために使えます。ファイル名を指定しない場合は、単にログファイル名を表示するだけです。 "s"コマンドは、 less のなかから、-o を指定するのと同等です。
-p pattern または--pattern= pattern
コマンド行での-p オプションは、 +/ pattern を指定するのと同じです。つまり、 less は、ファイル中で pattern が最初に現れるところから表示を開始します。
-P prompt または--prompt= prompt
3 つのプロンプトスタイルを好みに合わせて仕立てる方法を提供します。このオプションは、通常、 less コマンドを呼び出す度に打込んだりせずに、環境変数 LESS で指定します。このオプションは、変数 LESS の中で最後のオプションになっているか、ドル記号で終了している必要があります。 -Ps の後の文字列は、デフォルトの (短い) プロンプトをその文字列に変更します。 -Pm は、中間の (-m) プロンプトを変更します。 -PM は、長い (-M) プロンプトを変更します。 -Ph は、ヘルプ画面のプロンプトを変更します。 -P= は、= コマンドで表示されるメッセージを変更します。 -Pw は、(F コマンド中で) データ待ちの間に表示されるメッセージを変更します。全てのプロンプト文字列は、文字と特別なエスケープシーケンスの連続から構成されます。詳細は、プロンプトのセクションを参照してください。
-q または--quiet または--silent
適度に「静かな」動作にします: ファイルの終わりを越えて、またはファイルの始まりを越えてスクロールしようとした場合に端末ベルが鳴らなくなります。端末が「ビジュアルベル」を持っている場合は代わりにそれを使います。無効な文字を打った時のような、その他の確かなエラーに関しては、ベルを鳴らします。デフォルトでは、全ての場合において端末ベルを鳴らします。
-Q または--QUIET または--SILENT
完全に「静かな」動作にします: 端末ベルは、全く鳴らしません。
-r または--raw-control-chars
制御文字を「そのまま」表示します。デフォルトでは、制御文字をキャレットを使って表示します。例えば control-A (8 進数 001) は、"^A"と表示します。警告: -r オプションが使われると、 less は、(画面が各制御文字の種類にどのように反応するかに依存しているために) 画面の実際の表示状態を追うことができません。よって長い行が誤った位置で分割されてしまうといったような、多くの表示上の問題が生じます。
-R または--RAW-CONTROL-CHARS
-r に似ていますが、ANSI "カラー"エスケープシーケンスは、"生"の形式で出力されます。-r と異なって、ほとんどの場合、画面の外観は、正しく保持されます。 ANSI "カラー"エスケープシーケンスは、次の形式のシーケンスです:
 
ESC [ ... m
 
ここで、"..."は、0 以上のカラー指定文字です。画面の外観の経過を追う目的のために、ANSI カラーエスケープシーケンスは、カーソルを動かさないと仮定されます。カラーエスケープシーケンスを終了させることのできる文字のリストを LESSANSIENDCHARS 環境変数に設定することにより、"m"以外の文字が ANSI カラーエスケープシーケンスを終了できることを less に教えることができます。そして、利用者は、表れることのできる文字のリストを環境変数 LESSANSIMIDCHARS を設定することによって標準のもの以外の文字が ESC と m の間に現れることができる文字を、 less に教えることができます。
-s または--squeeze-blank-lines
連続した空白行を、1 行の空白行にまとめます。これは、 nroff の出力を閲覧する際に便利です。
-S または--chop-long-lines
画面幅より長い行を折り返さずに切り捨てます。すなわち、長い行の画面の幅に入らない部分は、表示されません。デフォルトでは、長い行を折り返します。すなわち、次の行の残りを表示します。
-t tag または--tag= tag
-t オプションの直後には、タグ名が続き、そのタグを含むファイルを編集します。このオプションを使うためには、タグ情報が必要です。例えば、 ctags (1) コマンドであらかじめ作られた "tags"と呼ばれるファイルがカレントディレクトリにあるかもしれません。環境変数 LESSGLOBALTAGS が設定された場合、これは、 global (1) 互換のコマンドの名前として解釈され、このコマンドがタグを見つけるために使用されます (http://www.gnu.org/software/global/global.html を参照)。-t オプションは、 less の中から (-コマンドを用いて) 新しいファイルを読み込む方法として指定することもできます。コマンド ":t"は、 less の中で、-t を指定するのと同じです。
-T tagsfile または--tag-file= tagsfile
"tags"の代わりに使用するタグファイルを指定します。
-u または--underline-special
バックスペースと復帰文字 (carriage return) を印刷可能文字として扱います。つまり、これらが入力に現れた時は、端末に送られます。
-U または--UNDERLINE-SPECIAL
バックスペース、タブ、復帰文字を制御文字として扱います。つまり、これらの文字は、-r オプションで指定されたものとして扱います。
 
-u と-U のどちらも指定されていない場合、デフォルトでは、下線文字の隣にあるバックスペースは、特別に扱われます。すなわち、下線の引かれた文字が、端末のハードウェア下線機能を使って表示されます。さらに、同一の 2 文字の間にあるバックスペースも特別な扱われ方をします。すなわち、重ね打ちされた文字が、端末のハードウェア太字機能を使って表示されます。その他のバックスペースは、前の文字と共に削除されます。直後に改行が続く復帰文字は、削除されます。その他の復帰文字は、-r オプションで指定されたように扱われます。重ね打ちや下線の引かれた文字の検索は、-u と-U のどちらも有効でない場合にのみ可能です。
-V または--version
less のバージョン番号を表示します。
-w または--hilite-unread
1 ページ前方に移動した後最初の「新しい」行を一時的にハイライト表示します。最初の「新しい」行とは、移動前に画面の最後だった行の直後の行のことです。また g や p コマンドの後、ターゲット行をハイライト表示します。ハイライト表示は、次の移動を伴うコマンドで消去されます。行の全てがハイライト表示されますが、-J オプションが有効な場合は、ステータスカラムのみがハイライト表示されます。
-W または--HILITE-UNREAD
-w と似ていますが、1 行より多く前方に移動する全てのコマンドのあと、最初の新しい行を一時的にハイライト表示します。
-x n,... または--tabs= n,...
タブストップを設定します。単一の n だけが指定された場合、 n の倍数の位置にタブストップが設定されます。複数の値がコンマで区切って指定された場合、タブストップは、これらの位置と、残りは、最後の 2 個の間隔に、配置されます。例えば -x9,17 は、タブストップを位置 9, 17, 25, 33 等に設定します。デフォルトの n は、8 です。
-X または--no-init
端末に、termcap 初期化文字列と非初期化文字列を送らないようにします。画面をクリアする際のように非初期化文字列が何か不必要なことをする場合には、望ましい場合があります。
-y n または--max-forw-scroll= n
前方にスクロールする最大行数を指定します。もし n 行を上回って前方にスクロールする必要がある場合は、代わりに画面が再描画されます。必要ならば、-c か-C オプションを使用して、画面の先頭から再描画できます。デフォルトでは、全ての前方移動は、スクロールになります。
-[z] n または--window= n
デフォルトのスクロールするウィンドウの大きさを n 行に変更します。デフォルトは、1 画面分の行数です。 z と w コマンドは、ウィンドウの大きさを変更するためにも使えます。 "z"は、 more のいくつかのバージョンとの互換性のために省略できます。数値 n が負の場合は、現在の画面サイズより n 行小さくウィンドウサイズを設定することを意味しています。例えば画面が 24 行の場合、 -z-4 は、スクロールするウィンドウを 20 行に設定することを意味しています。画面が 40 行に変更された場合には、スクロールウィンドウは、自動的に 36 行に変更されます。
- "cc または --quotes= cc
ファイル名をクォートする文字を変更します。スペースとクォート文字の両方を含むファイル名を指定する場合には、このオプションが必要となるでしょう。 1 文字続けた場合、クォート文字が指定した文字に変更されます。この場合スペースを含むファイル名は、ダブルクォートではなく、この文字で囲まなければなりません。また、2 文字続けた場合は、 1 文字目が開クォートに、2 文字目が閉クォートになります。この場合スペースを含むファイル名の前に開クォート文字をおき、ファイル名の後に閉クォート文字をおきます。引用文字を変更した後でも、このオプションは、-" (ダッシュの後にダブルクォート) のままであることに注意してください。
-~ または--tilde
通常、ファイルの終わりより後の行は、1 つのチルダ (~) で表示されます。このオプションを使うと、ファイルの終わりより後の行を空白行で表示します。
-# または--shift
RIGHTARROW と LEFTARROW コマンドで水平スクロールするデフォルトの桁数を指定します。 0 を指定した場合には、デフォルトの数は、画面幅の半分の桁数になります。もう一つの方法として、小数点から始まって画面幅の分数として数を指定することができます: .5 は、画面幅の半分で、.3 は、画面幅の 3/10 など、その他です。数が分数として指定されるなら、実際のスクロールが画面幅の指定された分数だけ残るように、端末のウィンドウがリサイズされるなら、スクロールの実際の数は、再計算されます。
--follow-name
通常、F コマンドが実行されている間に入力ファイルが名前を変更されると、 less は、名前が変更されているにもかかわらず、オリジナルのファイルの内容を表示し続けます。--follow-name が指定されるなら、 F コマンドの間、 less は、定期的に名前でファイルを再オープンすることを試みます。再オープンが成功し、ファイルがオリジナルと異なったファイルであるなら、 (それは、新しいファイルがオリジナルの (現在、名前が変更された) ファイルと同じ名前で作成されたことを意味します) less は、その新しいファイルの内容を表示します。
--no-keypad
端末にキーパッド初期化文字列と非初期化文字列を送ることを無効にします。キーパッド文字列が数値キーパッドを不適切な振る舞いにするなら、これは、ときどき役に立ちます。
--use-backslash
このオプションは、これに続くオプションの解釈を変更します。--use-backslash オプションの後に、オプション文字列中のあらゆるバックスラッシュは、削除され、次の文字は、そのまま解釈されます。これによって、ドル記号を、オプション文字列に含ませることができます。
--
コマンド行の引数 "--"は、オプション引数の終わりを示します。この後の、いかなる引数もファイル名として解釈されます。このオプションは、"-"や "+"で名前が始まるファイルを閲覧する場合に便利です。
+
あるコマンド行のオプションが + で始まる場合、オプションの残りは、 less に初期コマンドとして渡されます。例えば +G は、 less が、ファイルの始めではなくファイルの終わりを表示して起動するように働きます。また、オプション +/xyz は、ファイル中で "xyz"が初めて現れる場所から起動させるように働きます。特殊な場合として、+<number>は、+<number>g と同じ働きをします。つまり、このオプションでは、指定された行番号から表示が始まります (ただし、上記の "g"コマンドの注意書きを参照のこと)。もしこのオプションが ++ で始められた場合は、初期コマンドは、閲覧する最初のファイルにだけでなく全てのファイルに対して適用されます。上述した "+"コマンドも、全てのファイルに対する初期コマンドの設定 (と変更) に使われます。
 

行編集

画面の一番下でコマンド行に (例えば :e コマンドに対するファイル名や、検索コマンドに対するパターンを) 入力する際に、いくつかのキーをコマンド行を操作するために使用できます。多くのコマンドは、ある種のキーボードでキーが存在しない場合でも使用できるように、[ 大括弧 ] 中にある代替形式を持っています。 (ESC は、行削除文字であるので、ESC で始まる形式は、いくつかの MS-DOS と Windows システムで動作しないことに注意してください。) これらの特殊キーは、どれでも、^V や ^A といった「リテラル」文字を前に置くことで文字として入力できます。バックスラッシュ自身は、2 つのバックスラッシュを入力することで、文字として入力できます。
LEFTARROW [ ESC-h ]
カーソルを 1 文字分左へ移動します。
RIGHTARROW [ ESC-l ]
カーソルを 1 文字分右へ移動します。
^LEFTARROW [ ESC-b または ESC-LEFTARROW ]
(CONTROL と LEFTARROW を同時入力) カーソルを 1 単語分左へ移動します。
^RIGHTARROW [ ESC-w または ESC-RIGHTARROW ]
(CONTROL と RIGHTARROW を同時入力) カーソルを 1 単語分右へ移動します。
HOME [ ESC-0 ]
カーソルを行頭へ移動します。
END [ ESC-$ ]
カーソルを行末へ移動します。
BACKSPACE
カーソルの左にある文字の消去、または、コマンド行が空の場合にコマンドをキャンセルします。
DELETE または [ ESC-x ]
カーソルの下にある文字を消去します。
^BACKSPACE [ ESC-BACKSPACE ]
(CONTROL と BACKSPACE を同時入力) カーソルの左にある単語を消去します。
^DELETE [ ESC-X または ESC-DELETE ]
(CONTROL と DELETE を同時入力) カーソルの下にある単語を消去します。
UPARROW [ ESC-k ]
前のコマンド行を取り出します。最初に入力されたいくつかのテキストの次に UPARROW を押すなら、そのテキストから始まる前のコマンド行を取り出します。
DOWNARROW [ ESC-j ]
次のコマンド行を取り出します。最初に入力されたいくつかのテキストの次に DOWNARROW を押るなら、そのテキストから始まる次のコマンド行を取り出します。
TAB
カーソルの左にある部分的なファイル名を補完します。複数のファイル名にマッチした場合は、最初にマッチしたファイル名がコマンド行に入力されます。 TAB を繰り返し打つと、マッチした他のファイル名を順番に表示します。補完したファイル名がディレクトリの場合、"/"がファイル名に付け加えられます (MS-DOS システムでは、"\"が付け加えられます)。ディレクトリ名に異なる文字を付け加えたい場合は、環境変数 LESSSEPARATOR で指定できます。
BACKTAB [ ESC-TAB ]
TAB と似ていますが、マッチしたファイル名を逆順に循環して入力します。
^L
カーソルの左にある部分的なファイル名を補完します。複数のファイル名にマッチした場合は、 (もし収まれば) マッチした全てのファイル名がコマンド行に入力されます。
^U (Unix と OS/2) または ESC (MS-DOS)
全てのコマンド行を消去するか、またはコマンドが空の場合には、コマンドをキャンセルします。 Unix において、line-kill 文字を ^U 以外の文字に変更している場合は、その文字が ^U の代わりに使われます。
^G
全体のコマンド行を削除して、主要なプロンプトに戻ります。
 

キー割り当て

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 - $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

 

*) exit 1

 

;;

 

esac

 

exit $?

 

このスクリプトを使うためには、これを実行可能な場所に置いて、 LESSOPEN="|lesspipe.sh %s"と設定します。

置換がないことを意味すると解釈され、オリジナルのファイルが使用されるので、プリプロセッサが空のファイルを出力することができないことに注意してください。これを回避するために、LESSOPEN が 2 つの垂直の縦棒で始まるなら、スクリプトの終了状態は、意味のあるものとなります。終了状態が 0 であるなら、出力は、たとえそれが空になっても、置換のテキストであると見なされます。終了状態が 0 でないなら、あらゆる出力は、無視され、オリジナルのファイルが使用されます。 less の前のバージョンとの互換性のために、LESSOPEN がただ 1 つの縦棒で始まるなら、プリプロセッサの終了状態は、無視されます。

入力パイプを使用する際もポストプロセッサ LESSCLOSE を使用できますが、削除する代替ファイルがないので通常必要ありません。この例では、LESSCLOSE ポストプロセッサに渡される代替ファイル名は、"-"です。

less の前のバージョンとの互換性において、 less が標準入力を見ているなら、入力プリプロセッサまたはパイプは、使用されません。しかしながら、 LESSOPEN の最初の文字がダッシュ (-) であるなら、入力プリプロセッサは、他のファイルと同様に標準入力で使用されます。この場合、ダッシュは、プリプロセッサコマンドの一部であると見なされません。標準入力が見られているなら、単一のダッシュから成るファイル名が入力プリプロセッサに渡されます。同様に、LESSOPEN の最初の 2 文字が縦棒とダッシュ (|-) または 2 つの縦棒とダッシュ (||-) であるなら、入力パイプは、他のファイルと同様に標準入力で使用されます。さらに、この場合、ダッシュは、入力パイプコマンドの一部であると見なされません。

 

各国文字集合

入力ファイルには、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 符号を選択します。 UTF-8 は、入力ファイルのマルチバイト文字をサポートするので特別です。それは、マルチバイト文字をサポートする唯一の文字集合です。
windows
Microsoft Windows に適切な文字集合 (cp 1251) を選択します。

まれに、 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", "UTF8", "utf-8", "utf8"のいずれかが LC_ALL, LC_CTYPE または 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<%02X>"です。警告: LESSBINFMT によって文字を展開した結果は、31 文字未満でなければなりません。

文字集合が utf-8 であるときに、LESSUTFBINFMT 環境変数は、LESSBINFMT と同様に動作しますが、デコードに成功しますが、表示に不適当な Unicode コードポイント (例えば、割り当てられていないコードポイント) に適用されます。デフォルト値は、"<U+%04lX>"です。 LESSUTFBINFMT と LESSBINFMT が表示属性設定 ("*x") を共有するので、 1 つを指定することが両方に影響することに注意してください。 LESSUTFBINFMT が LESSBINFMT の後に読み込まれるので、もしあれば、その設定が優先します。 UTF-8 ファイル内の問題のあるオクテット (切り捨てられたシーケンスのオクテット、完全なオクテットだが最短でない形式のシーケンス、不正なオクテット、とシーケンスを外れて後続するオクテット) は、UTF-8 ファイルがどんなに不正な形式かを容易に診断するために、 LESSBINFMT を使用して個別に表示されます。

 

プロンプト

-P オプションにより、プロンプトを好みに合わせて仕立てることができます。-P オプションに与えられた文字列は、指定したプロンプト文字列を置き換えます。文字列中のある文字は、特殊な解釈をされます。プロンプト機構は、柔軟性を持たせるために少々複雑になっていますが、一般のユーザは、個人用プロンプト文字列の作り方の詳細を理解する必要はありません。
 
パーセント記号は、後に続く 1 文字が何かによって展開のされ方が異なります:
%b X
現在の入力ファイルでのバイトオフセットで置き換えられます。 b の後には、(上記で X で示されている) 1 文字が続き、どの行のバイトオフセットを使用するかを指定します。その文字が "t"の場合は、画面の先頭行のバイトオフセットが使われます。 "m"の場合は、真中の行、"b"の場合は、最下行、 "B"の場合は、最下行の直後の行の、 "j"の場合には、-j オプションで指定したターゲット行のバイトオフセットを使うことを意味しています。
%B
現在の入力ファイルの大きさに置き換えられます。
%c
画面の最初の桁に表示されている文字の桁番号に置き換えられます。
%d X
ある行が存在する入力ファイル中のページ番号に置き換えられます。使用する行は、%b オプションと同じように X で決定されます。
%D
入力ファイルのページ数、いいかえると入力ファイルの最終行のページ番号に置き換えられます。
%E
エディタの名前 (環境変数 VISUAL、VISUAL が定義されていない場合は、環境変数 EDITOR) に置き換えられます。後述する LESSEDIT 機能に関する話題を参照してください。
%f
現在の入力ファイルの名前によって置き換えられます。
%F
現在の入力ファイルの名前の最後の構成要素によって置き換えられます。
%i
入力ファイルのリスト中における現在のファイルのインデックスで置き換えらます。
%l X
ある行の入力ファイル中での行番号で置き換えられます。使用する行は、%b オプションと同じように X で決定されます。
%L
入力ファイルの最終行の行番号で置き換えられます。
%m
入力ファイルの合計数で置き換えられます。
%p X
現在の入力ファイルでのバイトオフセットに基づいたパーセントで置き換えられます。使用する行は、%b オプションと同じように X で決定されます。
%P X
現在の入力ファイルでの行番号に基づいたパーセントで置き換えられます。使用する行は、%b オプションと同じように X で決定されます。
%s
%B と同じです。
%t
後に続くスペースを取り除きます。通常は、文字列の最後に使われますが、どこに置いても構いません。
%x
ファイルリストのうち次の入力ファイル名で置き換えられます。

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

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

?a
プロンプトに既に任意の文字列が含まれている場合に真。
?b X
指定した行のバイトオフセットが既知の場合に真。
?B
現在の入力ファイルの大きさが既知の場合に真。
?c
文字が水平に移動している (%c が 0 でない) 場合に真。
?d X
指定した行のページ番号が既知の場合に真。
?e
ファイルの終わりの場合に真。
?f
入力ファイル名がある (つまり、入力がパイプでない) 場合に真。
?l X
指定した行の行番号が既知の場合に真。
?L
ファイルの最終行の行番号が既知の場合に真
?m
複数の入力ファイルがある場合に真。
?n
新しい入力ファイルの最初のプロンプトの場合に真。
?p X
指定した行の現在の入力ファイルでのバイトオフセットに基づくパーセントが既知の場合に真。
?P X
指定した行の現在の入力ファイルでの行番号に基づくパーセントが既知の場合に真。
?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 を「安全な」モードでしか実行できないようにコンパイルすることも可能です。

 

more との互換性

環境変数 LESS_IS_MORE が 1 に設定されるか、またはプログラムが "more"という名前でリンクされたファイルを通して呼び出されるなら、 less は、(ほとんど) POSIX "more"コマンド仕様に適合するように振る舞います。このモードで、less は、次のように異なって振る舞います:

-e オプションは、異なって動作します。-e オプションが設定されていないなら、 less は、まるで-E オプションが設定されているかのように振る舞います。-e オプションが設定されているなら、 less は、まるで-e と-F オプションが設定されているかのように振る舞います。

-m オプションは、異なって動作します。-m オプションが設定されていないなら、中位のプロンプトが使用され、文字列 "--More--"が前に付けられます。-m オプションが設定されているなら、短いプロンプトが使用されます。

-n オプションは、-z オプションのように振る舞います。-n オプションの通常の振る舞いは、このモードで利用可能ではありません。

-p オプションへのパラメータは、検索パターンではなく less コマンドになるように取られます。

LESS 環境変数は、無視され、MORE 環境変数は、その場所で使用されます。

 

環境変数

環境変数は、普通にシステム環境で設定するか、または 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")。
LESSANSIMIDCHARS
ANSI カラーエスケープシーケンス内の ESC 文字と終了文字の間に現れる文字 (デフォルトは、"0123456789;[?!"'#%()*+ ")。
LESSBINFMT
印字可能文字でもなく、制御文字でもない文字を表示する際のフォーマット。
LESSCHARDEF
文字集合を定義します。
LESSCHARSET
あらかじめ定義された文字集合を選択します。
LESSCLOSE
(オプションの) 入力ポストプロセッサを呼び出すためのコマンド行。
LESSECHO
lessecho プログラムの名前 (デフォルトは、"lessecho")。 lessecho プログラムは、Unix システムにおいてファイル名の * や ? といったメタキャラクタの展開に必要です。
LESSEDIT
(v コマンドで使用される) エディタのプロトタイプ文字列。プロンプトのセクションでの話題を参照してください。
LESSGLOBALTAGS
グローバルタグを探すために-t オプションが使用するコマンド名。 global (1) コマンドがある場合、通常、"global"です。設定されていない場合、グローバルタグは使用されません。
LESSHISTFILE
検索コマンドと less の呼び出しの間のシェルコマンドを記憶するために使用する履歴ファイルの名前。 "-"または "/dev/null"に設定されるなら、履歴ファイルは、使用されません。デフォルトは、Unix システムでは、"$HOME/.lesshst"、DOS と Windows システムでは、"$HOME/_lesshst"、または OS/2 システムでは、"$HOME/lesshst.ini"または "$INIT/lesshst.ini"です。
LESSHISTSIZE
履歴ファイルに保存するコマンドの最大数。デフォルトは、100 です。
LESSKEY
デフォルトの lesskey(1) ファイル名。
LESSKEY_SYSTEM
デフォルトのシステム標準 lesskey(1) ファイル名。
LESSMETACHARS
シェルに「メタキャラクタ」として解釈される文字のリスト。
LESSMETAESCAPE
less がシェルにコマンドを送る際にメタキャラクタの前に付加するプレフィックス。 LESSMETAESCAPE が空の文字列である場合、メタキャラクタを含むコマンドは、シェルに送られません。
LESSOPEN
(オプションの) 入力プリプロセッサを呼び出すためのコマンド行。
LESSSECURE
less を「安全な」モードで実行させます。セキュリティのセクションでの話題を参照してください。
LESSSEPARATOR
ファイル名補完においてディレクトリ名に付加される文字列。
LESSUTFBINFMT
印刷可能でない Unicode コードポイントを表示するためのフォーマット。
LESS_IS_MORE
more (1) コマンドをエミュレートします。
LINES
画面の行数を設定します。環境変数 TERM で設定された行数よりも優先されます。 (ただし画面サイズを知ることができる TIOCGWINSZ または WIOCGETD をサポートしているウィンドウシステムを使用しているのであれば、その情報が環境変数 LINES と COLUMNS よりも優先されます。)
MORE
more の互換性モードで実行されるとき、オプションは、自動的に less に渡されます。
PATH
(MS-DOS と OS/2 システムで lesskey ファイルを探すのに使われる) ユーザの検索パス。
SHELL
! コマンドを実行したり、ファイル名の補完に使用されるシェル。
TERM
less が実行されている端末の種類。
VISUAL
(v コマンドで使用される) エディタ名。
 

関連項目

lesskey(1)
 

COPYRIGHT

Copyright (C) 1984-2012 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
 
バグ報告またはコメントは、<bug-less@gnu.org>へ送ってください。
 
less で知られているバグの最新のリストについては、 http://www.greenwoodsoftware.com/less/bugs.html を参照してください。
 
詳細については、less のホームページ
 
http://www.greenwoodsoftware.com/less を参照してください。
Version 458: 04 Apr 2013