コマンドラインのマニュアル

Man » less マニュアルオンライン - less man ページの詳細なオンラインドキュメント

🌍
less - ターミナルでファイルの内容を表示します

概要

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) を使用するため、さまざまなターミナルで実行できます。ハードコピーターミナルに対する限定的なサポートもあります。(ハードコピーターミナルでは、画面の上部に表示されるべき行の先頭にキャレットが付いています)

コマンドは、more と vi の両方をベースにしています。コマンドの前に 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 が指定された場合は、新しいウィンドウサイズになります。

ESC-SPACE

SPACE と同じですが、ファイルの末尾に達した場合でも、画面全体をスクロールします。

ENTER または RETURN または ^N または e または ^E または j または ^J

N 行(デフォルトは 1 行)を下にスクロールします。N 行全体が表示されます。N が画面サイズよりも大きい場合でも、すべてが表示されます。

d または ^D

N 行(デフォルトは画面サイズの半分)を下にスクロールします。N が指定された場合は、その後の d および u コマンドの新しいデフォルト値になります。

b または ^B または ESC-v

N 行(デフォルトは 1 画面、-z オプションを参照)を上にスクロールします。N が画面サイズよりも大きい場合、最終画面に表示される部分だけが表示されます。

w

ESC-v と同じですが、N が指定された場合は、新しいウィンドウサイズになります。

y または ^Y または ^P または k または ^K

N 行(デフォルトは 1 行)を上にスクロールします。N 行全体が表示されます。N が画面サイズよりも大きい場合でも、すべてが表示されます。警告:一部のシステムでは、^Y が特殊なジョブ制御文字として使用されます。


u または ^U

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

J

j と同様ですが、ファイルの末尾を超えてスクロールします。

K または Y

k と同様ですが、ファイルの先頭を超えてスクロールします。

ESC-) または RIGHTARROW

水平方向に N 文字右にスクロールします。デフォルトは画面幅の半分です(-# オプションを参照)。 N が指定された場合、それは将来の RIGHTARROW および LEFTARROW コマンドのデフォルトになります。テキストがスクロールされる間、-S オプション(行を分割)が有効になっているかのように動作します。

ESC-( または LEFTARROW

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

ESC-} または ^RIGHTARROW

水平方向にスクロールして、最も長い表示行の末尾を表示します。

ESC-{ または ^LEFTARROW

水平方向にスクロールして、最初の列に戻ります。

r または ^R または ^L

画面を再描画します。

R

画面を再描画し、バッファリングされた入力を破棄します。つまり、現在のファイルを再読み込みします。ファイルが変更されている間に表示している場合に便利です。

F

前方へスクロールし、ファイルの末尾に達したときに読み取りを試み続けます。通常、このコマンドはファイルの末尾に達したときに使用されます。これは、成長しているファイルを監視する方法です(「tail -f」コマンドに似ています)。データの読み込みを停止するには、割り込み文字(通常は ^C)を入力します。poll(2) をサポートするシステムでは、^X または --intr オプションで指定された文字も使用できます。入力がパイプであり、--exit-follow-on-close オプションが有効になっている場合、less はパイプの入力側が閉じられたときにデータの読み込みを自動的に停止します。

ESC-F

F と同様ですが、最後に検索したパターンに一致する行が見つかるとすぐに、ターミナルベルが鳴り、前方スクロールが停止します。

g または < または ESC-<

ファイル内の行 N に移動します。デフォルトは 1(ファイルの先頭)です。(警告:N が大きい場合、処理に時間がかかることがあります。)

G または > または ESC->

ファイル内の行 N に移動します。デフォルトはファイルの末尾です。(警告:N が大きい場合、または N が指定されず、標準入力ではなくファイルが読み取られている場合、処理に時間がかかることがあります。)

ESC-G

G と同じですが、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   小文字または大文字のいずれかの文字の後に続く場合、最初に表示されている行にその文字でマークを付けます。-Jオプションを使用してステータス列を有効にすると、ステータス列にマークされた行が表示されます。

M   mと同様ですが、最初に表示されている行ではなく、最後に表示されている行にマークを付けます。

'   (シングルクォート)小文字または大文字のいずれかの文字の後に続く場合、その文字で以前にマークされた位置に戻ります。別のシングルクォートの後に続く場合、最後に実行された「大きな」移動コマンドの実行位置に戻ります。^または$の後に続く場合、ファイルの先頭または末尾にジャンプします。マークは新しいファイルが調べられるときに保持されるため、'コマンドを使用して入力ファイルを切り替えることができます。

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

ESC-m   小文字または大文字のいずれかの文字の後に続く場合、指定された文字で識別されたマークをクリアします。

/pattern    ファイル内で、指定されたパターンを含むN番目の行を検索します。Nはデフォルトで1です。パターンは、システムによって提供される正規表現ライブラリによって認識される正規表現です。デフォルトでは、検索は大文字と小文字が区別されます(大文字と小文字は異なります)。-iオプションを使用して、これを変更できます。検索は、最初に表示されている行から開始されます(ただし、-aオプションと-jオプションはこれを変更します)。

パターンの先頭に入力された場合、特定の文字は検索の種類を変更し、パターンの一部にはなりません。

^Nまたは!  パターンに一致しない行を検索します。

^Eまたは*  複数のファイルを検索します。つまり、検索が現在のファイルの終わりに到達し、一致するものが見つからない場合、検索はコマンドラインリスト内の次のファイルで続行されます。

^Fまたは@  コマンドラインリスト内の最初のファイルの最初の行から検索を開始します。これは、画面に現在表示されている内容や、-aオプションまたは-jオプションの設定に関係なく、行われます。

^K     現在の画面に表示されているテキストの中で、パターンに一致する箇所をハイライト表示しますが、最初の一致箇所に移動しません(現在の位置を維持します)。

^R     正規表現のメタ文字を解釈せず、単純なテキスト比較を行います。

^S     後に1から5の間の数字Nが続きます。N番目の括弧で囲まれたサブパターンで一致するテキストのみが、パターンに一致したものとみなされます。(lessがposix、pcre、またはpcre2のいずれかの正規表現ライブラリで構築されている場合にのみサポートされます。)複数の^S修飾子を指定して、複数のサブパターンに一致させることができます。

^W     現在のファイルをラップアラウンドします。つまり、検索が現在のファイルの末尾に達し、一致が見つからない場合、検索は現在のファイルの最初の行から、検索を開始した行まで続行されます。^W修飾子が設定されている場合、^E修飾子は無視されます。

^L     次の文字は文字通りに解釈され、パターンの一部になります。たとえそれが上記の検索修飾子の1つであっても。

?pattern
ファイル内で、パターンを含むN番目の行を後方検索します。検索は、最後に表示された行から開始されます(ただし、-aおよび-jオプションはこれを変更します)。

^Nまたは!
パターンに一致しない行を検索します。

^Eまたは*
複数のファイルを検索します。つまり、検索が現在のファイルの先頭に達し、一致が見つからない場合、検索はコマンドラインリスト内の前のファイルで続行されます。

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

^K     前方検索と同様。

^R     前方検索と同様。

^S     前方検索と同様。

^W     現在のファイルをラップアラウンドします。つまり、検索が現在のファイルの先頭に達し、一致が見つからない場合、検索は現在のファイルの最後の行から、検索を開始した行まで続行されます。

ESC-/pattern
ESC-\*と同じです。

ESC-?pattern
ESC-?*と同じです。

n      前の検索を繰り返します。N番目の行で、最後のパターンに一致するものを見つけます。前の検索が^Nで修飾されていた場合、検索はパターンに一致しないN番目の行に対して行われます。前の検索が^Eで修飾されていた場合、検索は、現在のファイルで満たされない場合、次の(または前の)ファイルで続行されます。前の検索が^Rで修飾されていた場合、正規表現を使用せずに検索が行われます。前の検索が^Fまたは^Kで修飾されていた場合、効果はありません。

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

ESC-n  前の検索を繰り返しますが、ファイル境界を越えて検索します。前の検索が\*で修飾されている場合と同じ効果があります。

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

ESC-u  検索ハイライトを切り替えます。 現在の検索パターンに一致する文字列のハイライトをオフにします。 既に以前の ESC-u コマンドによってハイライトがオフになっている場合は、ハイライトをオンに戻します。 任意の検索コマンドもハイライトをオンに戻します。(ハイライトは、-G オプションを切り替えることによっても無効にできます。その場合、検索コマンドはハイライトをオンに戻しません。)

ESC-U  ESC-u と同様ですが、保存された検索パターンもクリアします。 ステータス列が -J オプションによって有効になっている場合、これはステータス列にマークされたすべての検索結果をクリアします。

&pattern

パターンに一致する行のみを表示します。 パターンに一致しない行は表示されません。 パターンが空の場合(& を入力してすぐに ENTER キーを押した場合)、フィルタリングはオフになり、すべての行が表示されます。 フィルタリングが有効になっている間、プロンプトの先頭にアンパサンドが表示され、ファイル内のいくつかの行が非表示になっていることを思い出させます。 複数の & コマンドを入力すると、すべてのパターンに一致する行のみが表示されます。

次の文字は、/ コマンドで使用される特殊文字と同じです。

^N または !

パターンに一致しない行のみを表示します。

^R     正規表現メタ文字を解釈しません。つまり、単純なテキスト比較を行います。

:e [filename]

新しいファイルを確認します。 ファイル名が指定されていない場合、「現在の」ファイル(次の :n および :p コマンドを参照)がコマンドラインのファイルリストから再確認されます。 ファイル名内のパーセント記号(%)は、現在のファイル名に置き換えられます。 シャープ記号(#)は、以前に確認されたファイル名に置き換えられます。 ただし、連続する 2 つのパーセント記号は、単一のパーセント記号に置き換えられます。 これにより、ファイル名にパーセント記号が含まれている場合でも、ファイル名を入力できます。 同様に、連続する 2 つのシャープ記号は、単一のシャープ記号に置き換えられます。 ファイル名はコマンドラインのファイルリストに挿入され、後続の :n および :p コマンドで参照できるようになります。 ファイル名が複数のファイルで構成されている場合、それらはすべてファイルリストに挿入され、最初のファイルが確認されます。 ファイル名に 1 つ以上のスペースが含まれている場合、ファイル名はすべてダブルクォートで囲む必要があります(-" オプションも参照)。

^X^V または E

:e と同じです。 警告:一部のシステムでは、^V を特殊なリテラル文字として使用します。 そのようなシステムでは、^V を使用できない場合があります。

:n     次のファイルを確認します(コマンドラインで指定されたファイルリストから)。 数字 N が指定されている場合、N 番目の次のファイルが確認されます。

:p     コマンドラインリスト内の前のファイルを確認します。 数字 N が指定されている場合、N 番目の前のファイルが確認されます。

:x     コマンドラインリストの最初のファイルを確認します。 数字 N が指定されている場合、リストの N 番目のファイルが確認されます。

:d     現在のファイルをファイルリストから削除します。

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

T   前のタグに移動します(現在のタグに対して複数のマッチが存在する場合)。

^O^N または ^On
ファイル内で N 番目の次の OSC 8 ハイパーリンクを検索します。

^O^P または ^Op
ファイル内で N 番目の前の OSC 8 ハイパーリンクを検索します。

^O^L または ^Ol
現在選択されている OSC 8 ハイパーリンクにジャンプします。

= または ^G または :f
表示されているファイルに関する情報(ファイル名、最下行の行番号とバイトオフセットなど)を出力します。可能な場合は、ファイルの長さ、ファイルの行数、および最後に表示された行より上のファイルの割合も出力します。

-   コマンドラインオプションの文字のいずれかの後に続けて入力すると、そのオプションの設定が変更され、新しい設定を示すメッセージが出力されます。ダッシュの直後に ^P (CONTROL-P) を入力すると、オプションの設定は変更されますが、メッセージは出力されません。オプション文字に数値(-b や -h など)または文字列(-P や -t など)の値がある場合、オプション文字の後に新しい値を入力できます。新しい値が入力されない場合、現在の設定を示すメッセージが出力され、何も変更されません。

--  - コマンドと同様ですが、単一のオプション文字ではなく、長いオプション名(OPTIONS を参照)を使用します。オプション名の後に ENTER または RETURN キーを押す必要があります。2 番目のダッシュの直後に ^P を入力すると、新しい設定を示すメッセージの出力が抑制されます(- コマンドと同様)。

-+  コマンドラインオプションの文字のいずれかの後に続けて入力すると、オプションがデフォルト設定にリセットされ、新しい設定を示すメッセージが出力されます(「-+X」コマンドは、コマンドラインの「-+X」と同じ動作をします)。これは、文字列値を持つオプションでは機能しません。

--+ -+ コマンドと同様ですが、単一のオプション文字ではなく、長いオプション名を使用します。

-!  コマンドラインオプションの文字のいずれかの後に続けて入力すると、オプションがデフォルト設定の「反対」にリセットされ、新しい設定を示すメッセージが出力されます。これは、数値または文字列値を持つオプションでは機能しません。

--! -! コマンドと同様ですが、単一のオプション文字ではなく、長いオプション名を使用します。

_   (アンダースコア)。コマンドラインオプションの文字のいずれかの後に続けて入力すると、そのオプションの現在の設定を示すメッセージが出力されます。オプションの設定は変更されません。

__  (二重アンダースコア)。_(アンダースコア)コマンドと同様ですが、単一のオプション文字ではなく、長いオプション名を使用します。オプション名の後に ENTER または RETURN キーを押す必要があります。

+cmd    指定された cmd が、新しいファイルが調べられるたびに実行されるようにします。たとえば、+G を使用すると、less は常に各ファイルの末尾から表示を開始します。

V   実行中の less のバージョン番号を出力します。

q または Q または :q または :Q または ZZ
less を終了します。

次の 7 つのコマンドは、特定のインストール環境によって有効にも無効にもなる場合があります。

v      現在表示されているファイルを編集するためにエディタを起動します。エディタは、環境変数 VISUAL が定義されている場合はそれ、VISUAL が定義されていない場合は EDITOR、どちらも定義されていない場合は "vi" がデフォルトで使用されます。また、PROMPTS セクションで説明されている LESSEDIT も参照してください。

! shell-command
指定されたシェルコマンドを実行するためにシェルを起動します。コマンド内のパーセント記号 (%) は、現在のファイル名に置き換えられます。ハッシュ記号 (#) は、以前に表示されたファイル名に置き換えられます。 "!!" は、最後のシェルコマンドを繰り返します。 "!" のみでは、シェルが起動されます。 "!" の直後に ^P (CONTROL-P) が入力されると、シェルコマンドの実行後に "done" メッセージは表示されません。Unix システムでは、シェルは環境変数 SHELL から取得するか、デフォルトで "sh" が使用されます。MS-DOS、Windows、および OS/2 システムでは、シェルは通常のコマンドプロセッサです。

# shell-command
"!" コマンドに似ていますが、コマンドはプロンプト文字列と同じように拡張されます。たとえば、現在のファイル名は "%f" として指定されます。

| <m> shell-command
<m> は任意のマーク文字を表します。入力ファイルのセクションを指定されたシェルコマンドにパイプします。パイプされるファイルのセクションは、文字で示される位置と現在の画面の間の部分です。現在の画面全体は、マークされた位置が現在の画面の前にあるか後にあるかにかかわらず、常に含まれます。<m> は、ファイルの最初または最後を示すために ^ または $ にすることもできます。<m> が . または改行の場合、現在の画面がパイプされます。 "!" の直後に ^P (CONTROL-P) が入力されると、シェルコマンドの実行後に "done" メッセージは表示されません。

s filename
入力をファイルに保存します。これは、入力が通常のファイルではなくパイプの場合にのみ機能します。

^O^O
現在の OSC 8 ハイパーリンクで選択された URI を開くために、シェルコマンドを実行します。このハイパーリンクは、以前の ^O^N または ^O^P コマンドで選択されます。シェルコマンドを見つけるために、環境変数 "LESS_OSC8_xxx" が読み込まれます。ここで "xxx" は URI のスキーム(最初のコロンの前の部分)です。コロンが URI に含まれていない場合は、"xxx" は空になります。環境変数の値は、プロンプト文字列と同じように拡張されます(特に、すべての "%o" のインスタンスは URI に置き換えられます)これにより、OSC 8 "ハンドラー" シェルコマンドが生成されます。ハンドラーからの標準出力は "オープナー" シェルコマンドであり、これが実行されて URI が開かれます。

次の 2 つの特殊なケースがあります。

    URI が "\#" で始まる場合、URI の残りは、同じファイル内の別の OSC 8 リンクの id パラメータの値として扱われ、^O^O はそのリンクに単にジャンプします。

    オープナーが ":e" という文字で始まり、その後に空白とファイル名が続く場合、オープナーをシェルコマンドとして実行する代わりに、指定されたファイル名を現在の less インスタンスで開きます。

URI全体をコマンドラインパラメータとして受け入れる単純なケースでは、ハンドラは次のように単純になります。

echo mybrowser '%o'

他のケースでは、URIを修正する必要があるため、ハンドラは%oの値に対して何らかの操作を行う必要があります。

LESS_OSC8_xxx変数が設定されていない場合、LESS_OSC8_ANY変数が試されます。LESS_OSC8_xxxもLESS_OSC8_ANYも設定されていない場合、「xxx」スキームを使用するリンクを開くことはできません。ただし、「man」スキーム(LESS_OSC8_manが設定されていない場合に使用)および「file」スキーム(LESS_OSC8_fileが設定されていない場合に使用)にはデフォルトのハンドラがあり、sed(1)コマンドとBourneシェルsh(1)と互換性のある構文を持つシェルを備えたシステムで動作するはずです。LESS_OSC8_ANYを使用してLESS_OSC8_fileをオーバーライドする場合は、LESS_OSC8_fileを「-」に設定して、デフォルト値を使用しないことを示す必要があります。同様に、LESS_OSC8_manについても同様です。

OSC8ハンドラに渡されるURI(%o経由)には、シングルクォートまたはダブルクォート文字は含まれていないことが保証されていますが、セミコロン、ドル記号、アットマークなどの他のシェルメタ文字が含まれている可能性があります。ハンドラは、シェルで意図しないコマンドが実行されないように、オープナーコマンドのパラメータを適切に引用する必要があります。また、ハンドラコマンドはコマンドプロンプトのように展開されるため、プロンプト展開によって解釈されるメタ文字(パーセント記号、ピリオド、コロン、バックスラッシュなど)は、バックスラッシュでエスケープする必要があります(「プロンプト」セクションを参照)。

^X 「データの待機中」メッセージが表示されている場合(たとえば、Fコマンドを使用している場合)、^Xを押すと、lessは待機を停止してプロンプトに戻ります。これにより、lessはファイルの終端が現在の位置にあると考える可能性があるため、RコマンドまたはFコマンドを使用して、より多くのデータを見る必要がある場合があります。--intrオプションを使用して、代わりに使用する別の文字を指定できます。このコマンドは、poll(2)関数をサポートするシステムでのみ機能します。poll(2)をサポートしていないシステムでは、代わりに割り込み文字(通常は^C)を使用できます。

オプション

コマンドラインオプションは以下に説明します。ほとんどのオプションは、実行中に「-」コマンドを使用して変更できます。

いくつかのオプションは、2つの形式で指定できます。1つは、ダッシュの後に単一の文字が続く形式、もう1つは、2つのダッシュの後に長いオプション名が続く形式です。長いオプション名は、曖昧さがない限り、省略できます。たとえば、--quit-at-eofは--quitに省略できますが、--quiに省略することはできません。これは、--quit-at-eofと--quietの両方が--quiで始まるためです。一部の長いオプション名は大文字で表記されており、たとえば--QUIT-AT-EOFのように、--quit-at-eofとは異なります。このようなオプション名は、最初の文字のみを大文字にする必要があり、残りの名前はどちらのケースでも構いません。たとえば、--Quitat-eofは--QUIT-AT-EOFと同等です。

環境変数「LESS」からオプションも取得されます。たとえば、「less -options ...」を毎回入力する代わりに、cshで次のように設定できます。

setenv LESS "-options"

または、shを使用する場合は、次のように設定します。

LESS="-options"; export LESS

MS-DOSおよびWindowsでは、引用符は不要ですが、オプション文字列内のパーセント記号が環境変数の展開として解釈されないように注意する必要があります。

環境変数はコマンドラインより前に解析されるため、コマンドラインオプションは環境変数「LESS」を上書きします。オプションが「LESS」変数に存在する場合、コマンドラインオプションを「-+」で開始することで、そのオプションをデフォルト値にリセットできます。

-kや-Dなどのオプションは、オプション文字の後に文字列が必要です。そのオプションの文字列は、ドル記号($)が見つかると終了すると見なされます。たとえば、次のように2つの-Dオプションを設定できます。
LESS="Dnwb$Dsbw"

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

-? または --help

このオプションは、lessで受け入れられるコマンドの概要を表示します(hコマンドと同じ)。 (シェルの解釈によっては、疑問符を引用符で囲む必要がある場合があります。例:「-\?」)。

-a または --search-skip-screen

デフォルトでは、前方検索は表示されている画面の先頭から始まり、後方検索は画面の最下部から始まります(nまたはNコマンドによって呼び出される繰り返しの検索を除く。繰り返しの検索は、それぞれターゲット行の後の行またはターゲット行の前の行から始まります。詳細については、-jオプションを参照してください)。 -aオプションを使用すると、前方検索は画面の最下部から開始し、後方検索は画面の先頭から開始されるため、画面に表示されているすべての行がスキップされます。

-A または --SEARCH-SKIP-SCREEN

すべての前方検索(繰り返しの検索ではない)は、ターゲット行の直後の行から開始され、すべての後方検索は、ターゲット行の直前の行から開始されます。したがって、前方検索は、表示されている画面の一部(最初の行からターゲット行を含むまで)をスキップします。同様に、後方検索は、表示されている画面(最後の行からターゲット行を含むまで)をスキップします。これは、lessバージョン441より前のバージョンのデフォルトの動作でした。

-bn または --buffers=n

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


-B または --auto-buffers
デフォルトでは、パイプからデータが読み込まれると、必要に応じてバッファーが自動的に割り当てられます。
パイプから大量のデータが読み込まれる場合、大量のメモリが割り当てられる可能性があります。
-B オプションは、パイプの自動バッファー割り当てを無効にします。
これにより、パイプで使用されるのは 64 KB (または -b オプションで指定された量) のみになります。
警告:-B を使用すると、表示が誤っている可能性があります。なぜなら、メモリに保持されるのは、最後に表示されたパイプデータの一部のみであり、それより前のデータは失われるからです。
失われた文字は疑問符として表示されます。

-c または --clear-screen
フルスクリーンリペイントが、画面の最上行から行われるようにします。
デフォルトでは、フルスクリーンリペイントは画面の下部からスクロールすることで行われます。

-C または --CLEAR-SCREEN
-c と同じで、less の古いバージョンとの互換性のためです。

-d または --dumb
-d オプションは、端末が「dumb」、つまり、画面のクリアや後方へのスクロールなどの重要な機能が欠けている場合に、通常表示されるエラーメッセージを抑制します。
-d オプションは、それ以外の点で、dumb ターミナルでの less の動作を変更しません。

-Dxcolor または --color=xcolor
表示されるテキストのさまざまな部分の色を変更します。
x は、色の設定対象となるテキストの種類を選択する 1 文字です。

B      バイナリ文字。

C      制御文字。

E      エラーおよび情報メッセージ。

H      --header オプションで設定されたヘッダー行と列。

M      ステータス列のマーク文字。

N      -N オプションで有効になった行番号。

P      プロンプト。

R      rscroll 文字。

S      検索結果。

W      -w オプションで有効になったハイライト。

15    1 ~ 5 番目の括弧で囲まれたサブパターンに一致する、検索結果のテキスト。
サブパターンカラーリングは、less が posix、pcre、または pcre2 のいずれかの正規表現ライブラリで構築されている場合にのみ機能します。

d      太字のテキスト。

k      点滅するテキスト。

s      強調表示されたテキスト。

u      下線付きのテキスト。

大文字と数字は、--use-color オプションが有効になっている場合にのみ使用できます。 大文字と小文字の両方でテキストの色が指定されている場合、大文字が優先されます。 たとえば、エラーメッセージは通常、強調表示されたテキストとして表示されます。 したがって、「s」と「E」の両方に色が指定されている場合、「E」の色はエラーメッセージに適用され、「s」の色は他の強調表示されたテキストに適用されます。 小文字は、バックスペースで上書きすることによって作成される太字と下線付きのテキスト、および ANSI エスケープシーケンスを使用してフォーマットされたテキスト (ただし、以下に示す Windows および MS-DOS の異なる動作に関する注記を参照) 以外の非コンテンツテキスト (行番号やプロンプトなど) を指します。

小文字の後に「+」を付けると、通常のフォーマットの変更と指定された色の両方を適用することを示します。 たとえば、-Dug は、下線なしで緑色で下線付きテキストを表示します。緑色が通常の下線のフォーマットに置き換わります。 しかし、-Du+g は、下線付きテキストを緑色で、かつ下線付きのフォーマットで表示します。


color は、4ビットのカラー文字列か、8ビットのカラー文字列のいずれかです。

4ビットのカラー文字列は、1文字または2文字で、最初の文字が前景色の色を指定し、2番目の文字が背景色の色を指定します。

b      青

c      シアン

g      緑

k      黒

m      マゼンタ

r      赤

w      白

y      黄

対応する大文字は、より明るい色合いを示します。たとえば、
-DNGk は、行番号を明るい緑色のテキストで黒い背景に表示し、-DEbR は、エラーメッセージを青色のテキストで明るい赤色の背景に表示します。文字のいずれかが "-" であるか、省略されている場合、対応する色は通常のテキストの色に設定されます。

8ビットのカラー文字列は、ドットで区切られた1つまたは2つの10進整数で、最初の整数が前景色の色を指定し、2番目の整数が背景色の色を指定します。各整数は、0から255までの値であり、"CSI 38;5" のカラー値を選択します([https://en.wikipedia.org/wiki/ANSI_escape_code#SGR](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR) を参照)。整数のいずれかが "-" であるか、省略されている場合、対応する色は通常のテキストの色に設定されます。

4ビットまたは8ビットのカラー文字列の後には、次の文字を1つ以上続けて、色の設定に加えてテキスト属性を設定できます。

s または ~ 強調表示(反転ビデオ)

u または _ 下線

d または * 太字

l または & 点滅

MS-DOS および Windows では、--color オプションは上記とは異なる動作をします。

カラー文字列の末尾にある太字(d および *)および点滅(l および &)のテキスト属性はサポートされていません。

小文字のカラーセレクター文字は、-R で ANSI エスケープシーケンスで書式設定されたテキストに加えて、オーバーストラクチャとコンテンツ以外のテキストにも適用されます(ただし、-Da を参照)。

歴史的な理由により、小文字のカラーセレクター文字の後に数値のカラー値が続く場合、その数値は上記で説明した "CSI 38;5" カラー値として解釈されず、代わりに 0 から 15 までの範囲の 4 ビットの CHAR_INFO.Attributes 値として解釈されます([https://learn.microsoft.com/en-us/windows/console/char-info-str](https://learn.microsoft.com/en-us/windows/console/char-info-str) を参照)。

混乱を避けるため、MS-DOS / Windows では、小文字のカラーセレクターの後に続く数値の代わりに、対応する文字を使用することをお勧めします。

大文字のカラーセレクター文字の後に続く数値のカラー値("CSI 38;5" カラー)は、Windows 10 より前のシステムではサポートされていません。

コンテンツで色を設定するための、限られた一連の ANSI エスケープシーケンスのみが正しく機能します。4 ビットのカラーシーケンスは機能しますが、"CSI 38;5" カラーシーケンスは機能しません。

-Da オプションは、--color オプションの動作を、非 MS-DOS / Windows システムでの動作に近づけます。具体的には、(1) 小文字のカラーセレクター文字が、ANSI エスケープシーケンスで書式設定されたテキストに影響を与えないようにし、(2) "CSI 38;5" カラーシーケンスをコンテンツで機能させるようにします(Windows 10 以降でのみ。それ以前の Windows システムでは、そのようなシーケンスは -Da の設定に関係なく機能しません)。

-e または --quit-at-eof
less が 2 回目の EOF に到達したときに自動的に終了するようにします。デフォルトでは、less を終了するには "q" コマンドを使用します。

-E または --QUIT-AT-EOF
less が 1 回目の EOF に到達したときに自動的に終了するようにします。

-f または --force
通常のファイルでないファイル(ディレクトリまたはデバイス特殊ファイル)を開くように強制します。また、バイナリファイルが開かれたときに表示される警告メッセージを抑制します。デフォルトでは、less は通常のファイルでないファイルを開くことを拒否します。ただし、一部のオペレーティングシステムでは、-f が設定されていても、ディレクトリを読み取ることが許可されない場合があります。

-F または --quit-if-one-screen
ファイル全体が最初の画面に表示できる場合、less が自動的に終了するようにします。

-g または --hilite-search
通常、less は最後の検索コマンドに一致するすべての文字列をハイライト表示します。-g オプションは、この動作を変更し、最後の検索コマンドで検出された特定の文字列のみをハイライト表示するようにします。これにより、less の実行速度がデフォルトよりもわずかに向上する場合があります。

-G または --HILITE-SEARCH
-G オプションは、検索コマンドで検出された文字列のハイライト表示をすべて抑制します。

-hn または --max-back-scroll=n
スクロールできる最大行数を指定します。n 行より多くスクロールする必要がある場合、画面は前方方向に再描画されます。(端末に後方スクロール機能がない場合、-h0 が適用されます。)

-i または --ignore-case
検索で大文字と小文字を区別しないようにします。つまり、大文字と小文字は同一と見なされます。このオプションは、検索パターンに大文字が含まれている場合、無視されます。言い換えれば、パターンに大文字が含まれている場合、その検索は大文字と小文字を区別します。

-I または --IGNORE-CASE
-i と同様ですが、パターンに大文字が含まれている場合でも、検索は大文字と小文字を区別しません。

-jn または --jump-target=n
パターンを検索するコマンド、行番号にジャンプするコマンド、ファイルパーセンテージにジャンプするコマンド、またはタグにジャンプするコマンドによって指定された「ターゲット」行を画面上のどこに配置するかを指定します。画面上の行は、番号で指定できます。画面の一番上の行が 1、次の行が 2、以下同様です。番号は負の値にすることもでき、画面の最下部からの相対的な行を指定できます。画面の最下部が -1、その 2 つ下の行が -2、以下同様です。または、画面上の行を画面の高さの割合で指定することもできます。小数点は 0.5 で画面の中央、0.3 は最初の行から 3 割下の位置になります。画面サイズが変更された場合、割合で指定された行番号は再計算されます。--header オプションが使用され、-j で指定されたターゲット行がヘッダーによって隠される場合、ターゲット行はヘッダーの後の最初の行に移動されます。--header オプションがアクティブになっている間、-S オプションは無視され、画面の幅よりも長い行は切り捨てられます。


-j オプションのいずれかの形式を使用する場合、"n" または "N" で呼び出される繰り返しの前方検索は、ターゲット行の直後の行から開始され、繰り返しの後方検索は、ターゲット行から開始されます。ただし、-a または -A で変更されない限りです。たとえば、"-j4" を使用する場合、ターゲット行は画面上の 4 行目であるため、前方検索は画面上の 5 行目から開始されます。ただし、繰り返しのない検索 ("/" または "?" で呼び出される) は、常に現在の画面の先頭または末尾から開始されます。

-J または --status-column

画面の左端にステータス列を表示します。ステータス列に表示される文字は、次のいずれかになります。

> 行は -S オプションで切り捨てられており、画面の右端を超えて切り捨てられたテキストに、現在の検索のヒットが含まれています。

< 行は水平方向にシフトされており、画面の左側を超えてシフトされたテキストに、現在の検索のヒットが含まれています。

= 行は切り捨てられ、シフトされており、画面の両端を超えてヒットが含まれています。

* 行の表示されている部分にヒットが含まれていますが、その右または左にはヒットが含まれていません。

a-z、A-Z

行は、対応する文字で m コマンドによってマークされています。

-kfilename または --lesskey-file=filename

less が、指定されたファイルを lesskey(1) バイナリファイルとして開き、解釈するようにします。複数の -k オプションを指定できます。LESSKEY または LESSKEY_SYSTEM 環境変数が設定されている場合、または lesskey ファイルが標準の場所に存在する場合 (KEY BINDINGS を参照)、それも lesskey ファイルとして使用されます。--lesskey-content の下の警告に注意してください。

--lesskey-src=filename

less が、指定されたファイルを lesskey(1) ソースファイルとして開き、解釈するようにします。LESSKEYIN または LESSKEYIN_SYSTEM 環境変数が設定されている場合、または lesskey ソースファイルが標準の場所に存在する場合 (KEY BINDINGS を参照)、それも lesskey ソースファイルとして使用されます。バージョン 582 より前は、less が使用するために、lesskey プログラムを実行して lesskey ソースファイルを lesskey バイナリファイルに変換する必要がありました。新しいバージョンの less は lesskey ソースファイルを直接読み取り、ソースファイルが存在する場合はバイナリファイルを無視します。--lesskey-content の下の警告に注意してください。

--lesskey-content=text

less が、指定されたテキストを lesskey(1) ソースファイルの内容として解釈するようにします。テキストでは、lesskey 行は、通常どおり改行で区切るか、セミコロンで区切ることができます。リテラルのセミコロンは、バックスラッシュの後にセミコロンを付けて表現できます。

警告:LESS、LESSSECURE、LESSCHARSET などの特定の環境変数で、これは起動の早い段階で使用されるため、コマンドラインオプション (--lesskey、--lesskey-src、または --lesskey-content) で指定されたファイルでは設定できません。lesskey ファイルを使用して環境変数を設定する場合は、デフォルトの lesskey ファイルを使用するか、LESSKEYIN または LESSKEY_CONTENT 環境変数を使用してファイルを指定する方が安全です。


-K または --quit-on-intr
interrupt 文字(通常は ^C)が入力されたときに、less がすぐに終了します(ステータス 2)。通常、interrupt 文字は less に実行中の処理を停止させ、コマンドプロンプトに戻らせます。このオプションを使用すると、「F」コマンドからコマンドプロンプトに戻ることができなくなります。

-L または --no-lessopen
環境変数 LESSOPEN(以下に示す入力前処理セクションを参照)を無視します。このオプションは less 内から設定できますが、その後のファイルにのみ適用され、現在開いているファイルには適用されません。

-m または --long-prompt
less がより詳細なプロンプト(more(1) に類似)を表示するようにします。ファイル内のパーセンテージが表示されます。デフォルトでは、less はコロンでプロンプトを表示します。

-M または --LONG-PROMPT
less が more(1) よりもさらに詳細なプロンプトを表示するようにします。

-n または --line-numbers
行番号の表示を抑制します。デフォルト(行番号を表示する)では、特に非常に大きな入力ファイルの場合、less の実行速度が低下する可能性があります。-n オプションを使用して行番号の表示を抑制することで、この問題を回避できます。行番号を使用する場合、行番号は詳細なプロンプトと「=」コマンドに表示され、「v」コマンドは現在の行番号をエディターに渡します(以下に示す PROMPTS の LESSEDIT の説明を参照)。

-N または --LINE-NUMBERS
各行の表示の先頭に、行番号を表示します。

-ofilename または --log-file=filename
less が入力の内容を、表示中に指定されたファイルにコピーするようにします。これは、入力ファイルが通常のファイルではなく、パイプの場合にのみ適用されます。ファイルがすでに存在する場合、less は上書きする前に確認を求めます。

-Ofilename または --LOG-FILE=filename
-O オプションは -o と同様ですが、確認を求めずに既存のファイルを上書きします。

ログファイルが指定されていない場合、-o および -O オプションは less 内から使用して、ログファイルを指定できます。ファイル名を指定せずに使用すると、ログファイルの名前が単に報告されます。「s」コマンドは、less 内から -o を指定するのと同じです。

-ppattern または --pattern=pattern
コマンドラインの -p オプションは、+/pattern を指定するのと同じです。つまり、ファイル内の pattern の最初の出現箇所から less の開始位置を指定します。

-Pprompt または --prompt=prompt
3 種類のプロンプトスタイルを好みに合わせてカスタマイズする方法を提供します。このオプションは通常、LESS 環境変数に設定されるか、毎回 less コマンドで入力されます。このようなオプションは、LESS 変数内の最後のオプションであるか、ドル記号 ($) で終了する必要があります。
-Ps の後に文字列を続けると、デフォルトの(短い)プロンプトがその文字列に変更されます。
-Pm は、中程度の(-m)プロンプトを変更します。
-PM は、長い(-M)プロンプトを変更します。
-Ph は、ヘルプ画面のプロンプトを変更します。
-P= は、「=」コマンドによって表示されるメッセージを変更します。
-Pw は、「F」コマンドでデータが到着するのを待機している間に表示されるメッセージを変更します。

すべてのプロンプト文字列は、一連の文字と特殊なエスケープシーケンスで構成されます。詳細については、PROMPTS のセクションを参照してください。

-q または --quiet または --silent

適度に「静かな」動作になります。ファイルの先頭または末尾を超えてスクロールしようとした場合に、ターミナルベルが鳴りません。ターミナルに「視覚ベル」がある場合、代わりにそれが使用されます。ベルは、無効な文字を入力した場合など、他のエラーが発生した場合にのみ鳴ります。デフォルトでは、そのようなすべてのケースでターミナルベルが鳴ります。

-Q または --QUIET または --SILENT

完全に「静かな」動作になります。ターミナルベルは決して鳴りません。ターミナルに「視覚ベル」がある場合、ターミナルベルが鳴るはずだったすべてのケースで使用されます。

-r または --raw-control-chars

「生の」制御文字が表示されます。デフォルトでは、制御文字はキャレット表記を使用して表示されます。たとえば、制御-A(8進数001)は「^A」として表示されます(-Uオプションで説明されているいくつかの例外があります)。警告:-rオプションを使用すると、lessは画面の実際の表示を追跡できなくなります(これは、画面が各種類の制御文字にどのように応答するかによって異なるためです)。したがって、長い行が間違った場所で分割されるなど、さまざまな表示上の問題が発生する可能性があります。

-rオプションの使用はお勧めしません。

-R または --RAW-CONTROL-CHARS

-rと同様ですが、ANSI「カラー」エスケープシーケンスとOSC 8ハイパーリンクシーケンスのみが「生の」形式で出力されます。-rとは異なり、画面の表示は正しく維持されます。ただし、これ以外の種類のエスケープシーケンスがファイルにない場合に限ります。カラーエスケープシーケンスは、カラーが1行内で変更された場合にのみサポートされます。行をまたいで変更することはできません。言い換えれば、各行の先頭は通常(カラーなし)であると想定され、前の行にあるエスケープシーケンスは考慮されません。画面の表示を追跡するために、これらのエスケープシーケンスはカーソルを移動させないものと想定されます。

OSC 8ハイパーリンクは、次の形式のシーケンスです。

ESC ] 8 ; ... \7

終端シーケンスは、BEL文字(\7)または2文字のシーケンス「ESC \」のいずれかになります。

ANSIカラーエスケープシーケンスは、次の形式のシーケンスです。

ESC [ ... m

ここで、「...」はゼロ個以上のカラー指定文字です。「m」以外の文字でANSIカラーエスケープシーケンスが終了するようにするには、環境変数LESSANSIENDCHARSを、カラーエスケープシーケンスを終了できる文字のリストに設定します。また、ESCとmの間に標準のもの以外の文字が現れてもよいようにするには、環境変数LESSANSIMIDCHARSを、出現してもよい文字のリストに設定します。

-s または --squeeze-blank-lines

連続する空行を1つの空行にまとめます。これは、nroff出力を表示する場合に役立ちます。

-S または --chop-long-lines

画面幅よりも長い行を切り捨て(切り詰める)ます。つまり、画面幅に収まらない行の残りの部分は、RIGHT-ARROWキーを押すまで表示されません。デフォルトでは、長い行は折り返されます。つまり、残りの部分が次の行に表示されます。--wordwrapオプションも参照してください。


-ttag または --tag=tag
-t オプションの後に TAG を続けて指定すると、そのタグを含むファイルを編集します。
これを行うには、タグ情報が利用可能である必要があります。たとえば、現在のディレクトリに、ctags(1) または同等のコマンドによって以前に作成された "tags" というファイルが存在する場合があります。環境変数 LESSGLOBALTAGS が設定されている場合、global(1) と互換性のあるコマンドの名前として解釈され、そのコマンドが実行されてタグを検索します。([http://www.gnu.org/software/global/global.html](http://www.gnu.org/software/global/global.html) を参照)。-t オプションは、less 内から(- コマンドを使用)新しいファイルを調べる方法として指定することもできます。":t" コマンドは、less 内から -t を指定することと同等です。

-Ttagsfile または --tag-file=tagsfile
"tags" ファイルの代わりに使用するタグファイルを指定します。

-u または --underline-special
バックスペースとキャリッジリターンを印刷可能な文字として扱います。つまり、それらが入力に表示されると、ターミナルに送信されます。

-U または --UNDERLINE-SPECIAL
バックスペース、タブ、キャリッジリターン、および「書式設定文字」(Unicode によって定義)を制御文字として扱います。つまり、-r オプションで指定されたように処理されます。

デフォルトでは、-u または -U のいずれも指定されていない場合、バックスペースは、アンダースコア文字の隣に表示される場合に特別に処理されます。下線付きのテキストは、ターミナルのハードウェア下線機能を使用して表示されます。また、2 つの同一の文字の間に表示されるバックスペースは、特別に処理され、太字でテキストがターミナルに表示されます。他のバックスペースは、前の文字とともに削除されます。キャリッジリターンの直後に改行が続く場合、それらは削除されます。他のキャリッジリターンは、-r オプションで指定されたように処理されます。Unicode 書式設定文字(バイトオーダーマークなど)は、ターミナルに送信されます。太字または下線付きのテキストは、-u または -U が有効でない場合に検索できます。

--proc-backspace、--proc-tab、および --proc-return オプションも参照してください。

-V または --version
less のバージョン番号を表示します。

-w または --hilite-unread
完全なページの前方移動後の最初の「新しい」行を一時的に強調表示します。
最初の「新しい」行は、画面の下部に以前あった行の直後の行です。また、g または p コマンドの後のターゲット行も強調表示します。強調表示は、移動を引き起こす次のコマンドで削除されます。--status-line オプションが有効になっている場合、画面全体の行(画面の幅)が強調表示されます。それ以外の場合は、-J オプションが有効になっている場合を除き、行のテキストのみが強調表示され、その場合はステータスカラムのみが強調表示されます。

-W または --HILITE-UNREAD
-w と同様ですが、1行以上の前方移動コマンドの後に続く最初の新しい行を一時的に強調表示します。

-xn,... または --tabs=n,...
タブストップを設定します。n が 1 つだけ指定された場合、タブストップは n の倍数で設定されます。カンマで区切られた複数の値が指定された場合、タブストップは指定された位置に設定され、その後、最後の 2 つの値と同じ間隔で続行されます。たとえば、`-x9,17` はタブを位置 9、17、25、33 などに設定します。n のデフォルト値は 8 です。

-X または --no-init
ターミナルに termcap 初期化文字列と終了文字列を送信する機能を無効にします。これは、終了文字列が不要な処理(画面のクリアなど)を行う場合に役立つ場合があります。

-yn または --max-forw-scroll=n
最大スクロール行数を n に指定します。n 行より多くスクロールする必要がある場合、画面が再描画されます。-c または -C オプションを使用して、画面の上部から再描画することもできます。デフォルトでは、すべての前方移動でスクロールが発生します。

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

-"cc または --quotes=cc
ファイル名の引用符文字を変更します。スペースと引用符の両方を含むファイルに名前を付けようとしている場合に必要になる場合があります。1 つの文字の後に続く場合、引用符文字をその文字に変更します。スペースを含むファイル名は、二重引用符の代わりにその文字で囲む必要があります。2 つの文字の後に続く場合、開始引用符を最初の文字に、閉じ引用符を 2 番目の文字に変更します。スペースを含むファイル名の先頭に開始引用符文字を、末尾に閉じ引用符文字を付ける必要があります。引用符文字が変更された後でも、このオプションは -" (ハイフンと二重引用符) のままです。

-~ または --tilde
通常、ファイルの末尾の行は、1 つのチルダ (\~) として表示されます。このオプションを使用すると、ファイルの末尾の行が空白の行として表示されます。

-# または --shift
RIGHTARROW および LEFTARROW コマンドで水平方向にスクロールするデフォルトの行数を指定します。指定された数値がゼロの場合、デフォルトの行数は画面幅の半分に設定されます。あるいは、数値は画面の幅に対する割合として指定できます。小数点から始まる数値を使用します。たとえば、.5 は画面幅の半分、.3 は画面幅の 3 割です。数値が割合として指定されている場合、実際のスクロール位置数は、ターミナルウィンドウのサイズが変更されたときに再計算されます。

--exit-follow-on-close

パイプに対して「F」コマンドを使用すると、less は、パイプの入力側の終了時に、データの待機を自動的に停止します。

--file-size
--file-size が指定された場合、less はファイルをオープンした直後にファイルのサイズを決定します。次に、「=」コマンドで、ファイル内の行数を表示します。通常、これは行われません。これは、入力ファイルが非シーク可能(パイプなど)で大きい場合、時間がかかる可能性があるためです。

--follow-name

通常、入力ファイルが F コマンドの実行中に名前が変更された場合、less は、名前が変更された元のファイルのコンテンツを表示し続けます。--follow-name が指定された場合、less は F コマンド中に、定期的にファイル名でファイルを再オープンしようとします。再オープンが成功し、ファイルが元のファイルとは異なるファイルである場合(つまり、元のファイル(名前が変更された)と同じ名前の新しいファイルが作成された場合)、less はその新しいファイルのコンテンツを表示します。

--header=L,C,N

画面に表示されるヘッダー行と列の数を設定します。ヘッダー行の数は L に設定されます。L が 0 の場合、ヘッダー行は無効になります。L が空または指定されていない場合、ヘッダー行の数は変更されません。ヘッダー列の数は C に設定されます。C が 0 の場合、ヘッダー列は無効になります。C が空または指定されていない場合、ヘッダー列の数は変更されません。最初のヘッダー行は、ファイル内の行番号 N に設定されます。N が空または指定されていない場合、これは、画面の最初の行に現在表示されている行の番号(--header コマンドが less の内部から発行された場合)、または 1(--header オプションがコマンドラインで指定された場合)と見なされます。特殊な形式「--header=-」は、ヘッダー行とヘッダー列を無効にし、「--header=0,0」と同じです。

L がゼロでない場合、画面の最上部の最初の L 行は、ファイル内の行 N から始まるファイルの L 行で置き換えられます。これは、ファイル内のどの部分が表示されているかに関係なく行われます。ヘッダー行が表示される場合、ファイルの内容のうちヘッダー行より前の部分は表示できません。C がゼロでない場合、各行の先頭で表示される最初の C 文字は、その行の最初の C 文字で置き換えられます。これは、行の残りの部分が水平方向にスクロールされている場合でも行われます。

--incsearch

その後の検索コマンドは「インクリメンタル」になります。つまり、less は、検索パターンの各文字が入力されるたびに、パターンを含む次の行に移動します。

--intr=c

「データの待機中」メッセージが表示されたときに、読み取りを中断するために使用する文字を ^X ではなく c に変更します。c は ASCII 文字でなければなりません。つまり、1 から 127 までの値を持つ文字です。キャレット(^)の後に続く 1 つの文字を使用して、制御文字を指定できます。

--line-num-width=n

-N オプションが有効な場合に、行番号フィールドの最小幅を n 文字に設定します。デフォルトは 7 です。


--match-shift=n

-S オプションが有効な場合、検索に一致する箇所が現在の画面に表示されない(つまり、左または右にずれて表示されない)場合、テキストを水平方向にシフトして、検索に一致する箇所が表示されるようにします。このオプションは、シフト後の検索に一致する箇所の最初の文字が配置される列を指定します。つまり、検索に一致する箇所の左に n 文字が表示されます。

あるいは、この数値は画面幅の割合で指定することもできます。小数点の後に続く数値は、画面幅の割合を表します。たとえば、.5 は画面幅の半分、.3 は画面幅の 3 割です。数値を割合で指定した場合、実際のスクロール位置は、ターミナルウィンドウのサイズが変更されたときに再計算されます。

--modelines=n

ファイルを表示する前に、less は最初の n 行を読み込んで、Vim 互換のモデル行を検索します。n がゼロの場合、less はモデル行を検索しません。モデル行を使用すると、ファイル自体に、ファイルを表示するときに使用するタブストップを指定できます。

モデル行には、行のどこかにプログラム名 ("vi"、"vim"、"ex"、または "less")、その後にコロン、オプションで "set" という単語、そして 1 つまたは複数のオプション設定が続きます。"set" という単語が使用されている場合、オプション設定は空白で区切られ、最初のコロンで終わります。"set" という単語が使用されていない場合、オプション設定は、空白またはコロンで区切ることができます。"less" がプログラム名である場合は、"set" という単語が必要ですが、他の 3 つのプログラム名のいずれかである場合はオプションです。オプション設定のいずれかが "tabstop=n" または "ts=n" の形式の場合、タブストップは、--tabs=n が指定されたかのように自動的に設定されます。--tabs の説明で、n の許容される値を確認してください。

--mouse

マウス入力を有効にします。マウスホイールを下にスクロールすると、ファイル内で前方に移動し、マウスホイールを上にスクロールすると、ファイル内で後方に移動します。左クリックすると、マウスがクリックされた行に "#" マークが設定され、右クリック(または他のボタン)すると、"#" マークの位置に戻ります。左クリックが OSC 8 ハイパーリンク上に実行された場合、ハイパーリンクが選択され、^O^N コマンドが実行されたかのように動作します。左クリックがすでに選択されている OSC 8 ハイパーリンク上に実行された場合、ハイパーリンクが開かれ、^O^O コマンドが実行されたかのように動作します。マウスホイールを移動したときにスクロールする行数を、--wheel-lines オプションで設定できます。マウス入力は、X11 マウスレポートをサポートするターミナルと、Windows 版の less でのみ機能します。

--MOUSE

--mouse と同様ですが、マウスホイールの移動方向が逆になります。

--no-keypad

キーパッドの初期化文字列と終了文字列をターミナルに送信するのを無効にします。これにより、キーパッドの文字列が数値キーパッドの動作に悪影響を与える場合に役立ちます。

--no-histdups

このオプションを変更すると、検索文字列またはファイル名が入力され、その文字列がすでに履歴リストにある場合、履歴リストから既存のエントリが削除され、新しいエントリが追加されます。これにより、履歴リストには特定の文字列が 1 回だけ表示されます。通常、文字列は複数回表示される場合があります。


--no-number-headers

ヘッダー行(--headerオプションで定義)には行番号が割り当てられません。最初のヘッダー行の後の最初の行に、行番号1が割り当てられます。

--no-search-header-lines

検索にはヘッダー行は含まれませんが、ヘッダー列は含まれます。

--no-search-header-columns

検索にはヘッダー列は含まれませんが、ヘッダー行は含まれます。

--no-search-headers

検索にはヘッダー行とヘッダー列は含まれません。

--no-vbell

ターミナルの視覚ベルを無効にします。

--proc-backspace

設定されている場合、バックスペースは、-uオプションまたは-Uオプションが設定されていないかのように処理されます。つまり、アンダースコアの隣にあるバックスペースは、テキストが下線モードで表示されるようにし、同じ文字の間のバックスペースは、テキストが太字モードで表示されるようにします。このオプションは、-uオプションと-Uオプションをオーバーライドするため、バックスペースの表示を、タブとキャリッジリターンの表示とは別に制御できます。設定されていない場合、バックスペースの表示は、-uオプションと-Uオプションによって制御されます。

--PROC-BACKSPACE

設定されている場合、バックスペースは、-Uオプションが設定されているかのように処理されます。つまり、バックスペースは制御文字として扱われます。

--proc-return

設定されている場合、キャリッジリターンは、-uオプションまたは-Uオプションが設定されていないかのように処理されます。つまり、改行の直前のキャリッジリターンは削除されます。このオプションは、-uオプションと-Uオプションをオーバーライドするため、キャリッジリターンの表示を、バックスペースとタブの表示とは別に制御できます。設定されていない場合、キャリッジリターンの表示は、-uオプションと-Uオプションによって制御されます。

--PROC-RETURN

設定されている場合、キャリッジリターンは、-Uオプションが設定されているかのように処理されます。つまり、キャリッジリターンは制御文字として扱われます。

--proc-tab

設定されている場合、タブは、-Uオプションが設定されていないかのように処理されます。つまり、タブはスペースに展開されます。このオプションは、-Uオプションをオーバーライドするため、タブの表示を、バックスペースとキャリッジリターンの表示とは別に制御できます。設定されていない場合、タブの表示は、-Uオプションによって制御されます。

--PROC-TAB

設定されている場合、タブは、-Uオプションが設定されているかのように処理されます。つまり、タブは制御文字として扱われます。

--redraw-on-quit

終了時に、ターミナル初期化文字列を送信した後、最後の画面全体を再描画します。ターミナル初期化文字列がターミナルを代替画面から切り替える場合に、lessが終了した後も、現在のファイルの最後の画面が残るようにします。

--rscroll=c

このオプションは、切り捨てられた行にマークする文字を変更します。2文字の属性インジケーター(LESSBINFMTのような)で始めることができます。属性インジケーターがない場合は、強調表示が使用されます。"-"に設定すると、切り捨てられた行はマークされません。

--save-marks
履歴ファイルにマークを保存し、異なる less の起動間でもマークを保持できるようにします。

--search-options=...
デフォルトの検索修飾子を設定します。値は、E、F、K、N、R、または W のいずれかの文字を含む文字列です。これらの文字のいずれかを設定すると、各検索パターンの先頭にその制御文字を入力したのと同じ効果があります。たとえば、--search-options=W を設定すると、各パターンの先頭に ^W を入力したのと同じ効果があります。値には、1 から 5 までの数字を含めることもでき、これは各検索パターンの先頭に ^S の後にその数字を入力したのと同じ効果があります。値に "-" を含めると、すべてのデフォルトの検索修飾子が無効になります。

--show-preproc-errors
プリプロセッサがデータを生成し、ゼロ以外の終了コードで終了した場合、less は警告を表示します。

--status-col-width=n
-J オプションが有効になっている場合のステータス列の幅を設定します。デフォルトは 2 文字です。

--status-line
行にマークが設定されている場合、行全体(ステータス列のみではなく)が強調表示されます。また、-w オプションによって強調表示された行は、行全体が強調表示されます。--use-color が設定されている場合、行は色付きで表示されます。

--use-backslash
このオプションは、それに続くオプションの解釈を変更します。--use-backslash オプションの後、オプション文字列内のバックスラッシュは削除され、次の文字が文字通りに解釈されます。これにより、オプション文字列にドル記号を含めることができます。

--use-color
さまざまな場所で色付きテキストを有効にします。-D オプションを使用して色を変更できます。色付きテキストは、端末が ANSI カラーエスケープシーケンスをサポートする場合にのみ機能します([https://www.ecma-international.org/publications-and-standards/standards/ecma-48](https://www.ecma-international.org/publications-and-standards/standards/ecma-48) を参照)。

--wheel-lines=n
マウスホイールをスクロールしたときにスクロールする行数を設定します。--mouse または --MOUSE オプションが有効になっている必要があります。デフォルトは 1 行です。

--wordwrap
-S オプションを使用していない場合、可能な限り、スペースまたはタブで各行を折り返し、単語が 2 つの行に分割されないようにします。デフォルトでは、任意の文字で折り返されます。

--
コマンドライン引数の "--" は、オプション引数の終わりを示します。その後に続く引数はすべて、ファイル名として解釈されます。これは、名前が "-" または "+" で始まるファイルを表示する場合に役立ちます。

+
コマンドラインオプションが "+" で始まる場合、そのオプションの残りの部分が less の初期コマンドとして解釈されます。たとえば、+G は less に対して、ファイルの先頭ではなく末尾から表示を開始するように指示し、+/xyz は、ファイル内の "xyz" の最初の出現箇所から表示を開始するように指示します。特殊なケースとして、+<number> は +<number>g と同じように機能します。つまり、指定された行番号から表示を開始します(ただし、上記の "g" コマンドに関する注意を参照してください)。オプションが "++" で始まる場合、初期コマンドは、最初のファイルだけでなく、表示するすべてのファイルに適用されます。以前に説明した + コマンドを使用して、すべてのファイルの初期コマンドを設定(または変更)することもできます。

行編集

画面下部のコマンドラインに入力する際(たとえば、:eコマンドのファイル名や、検索コマンドのパターンなど)、特定のキーを使用してコマンドラインを操作できます。ほとんどのコマンドには、括弧[]で囲まれた代替形式があり、特定のキーが特定のキーボードに存在しない場合にこれを使用できます。(ESCで始まる形式は、一部のMS-DOSおよびWindowsシステムでは、ESCが行消去文字であるため機能しないことに注意してください。)これらの特殊キーは、^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およびWindowsシステムでは、"\"が追加されます。)環境変数`LESSSEPARATOR`を使用して、ディレクトリ名の末尾に追加する別の文字を指定できます。

BACKTAB [ ESC-TAB ]
TABと同様ですが、一致するファイル名を逆方向に順番に表示します。

^L カーソルの左側の部分的なファイル名を補完します。一致するファイル名が複数ある場合、すべての一致するファイル名がコマンドラインに入力されます(収まる限り)。

^U (UnixおよびOS/2) または ESC (MS-DOSおよびWindows)
コマンドライン全体を削除するか、コマンドラインが空の場合にコマンドをキャンセルします。Unixでラインキル文字を`^U`以外のものに変更した場合は、その文字が代わりに`^U`の代わりに使用されます。

^G  コマンドライン全体を削除し、メインプロンプトに戻ります。

キーバインド

lesskey ソースファイルを作成することで、独自の less コマンドを定義できます。このファイルには、一連のコマンドキーと、各キーに関連付けられたアクションが指定されています。また、行編集キー(「行編集」を参照)を変更したり、less で使用する環境変数を設定したりすることもできます。詳細については、lesskey(1) のマニュアルページを参照してください。

環境変数 LESSKEYIN が設定されている場合、less はそれを lesskey ソースファイルの名前として使用します。それ以外の場合、less は標準の場所に lesskey ソースファイルを検索します。Unix システムでは、less は、$XDG_CONFIG_HOME/lesskey または $HOME/.config/lesskey または $HOME/.lesskey という名前の lesskey ファイルを検索します。MS-DOS および Windows システムでは、less は、$HOME/_lesskey という名前の lesskey ファイルを検索し、見つからない場合は、PATH 環境変数で指定された任意のディレクトリにある _lesskey という名前の lesskey ファイルを検索します。OS/2 システムでは、less は、$HOME/lesskey.ini という名前の lesskey ファイルを検索し、見つからない場合は、INIT 環境変数で指定された任意のディレクトリにある lesskey.ini という名前の lesskey ファイルを検索し、それでも見つからない場合は、PATH 環境変数で指定された任意のディレクトリにある lesskey.ini という名前の lesskey ファイルを検索します。

システム全体の lesskey ソースファイルを設定して、キーバインドを提供することもできます。キーがローカル lesskey ファイルとシステム全体のファイルの両方に定義されている場合、ローカルファイル内のキーバインドがシステム全体のファイル内のキーバインドよりも優先されます。環境変数 LESSKEYIN_SYSTEM が設定されている場合、less はそれをシステム全体の lesskey ファイルの名前として使用します。それ以外の場合、less はシステム全体の lesskey ファイルの標準の場所を検索します。Unix システムでは、システム全体の lesskey ファイルは /usr/local/etc/syslesskey です。(ただし、less が /usr/local/etc 以外の sysconf ディレクトリでビルドされた場合、そのディレクトリに sysless ファイルがあります。)MS-DOS および Windows システムでは、システム全体の lesskey ファイルは c:_syslesskey です。OS/2 システムでは、システム全体の lesskey ファイルは c:\syslesskey.ini です。

less の以前のバージョン(v582 より前)では、lesskey プログラムによって生成されたバイナリ形式の lesskey ファイルが使用されていました。now it is no longer necessary to use the lesskey program.

入力プリプロセッサ

less の入力プリプロセッサを定義できます。less がファイルを開く前に、入力プリプロセッサにファイルの表示方法を変更する機会を与えます。入力プリプロセッサは、ファイルを別のファイル(置換ファイルと呼ばれる)に書き込む実行可能プログラム(またはシェルスクリプト)です。置換ファイルの内容は、元のファイルの内容の代わりに表示されます。ただし、ユーザーには、元のファイルが開かれているように表示されます。つまり、less は、現在開いているファイルの名前として元のファイル名を表示します。


入力プリプロセッサは、コマンドライン引数として、ユーザーが入力した元のファイル名を受け取ります。プリプロセッサは、置換ファイルを作成し、完了したら、その置換ファイルの名前を標準出力に出力します。入力プリプロセッサが置換ファイル名を出力しない場合、lessは通常どおり元のファイルを使用します。入力プリプロセッサは、標準入力を表示するときには呼び出されません。入力プリプロセッサを設定するには、環境変数LESSOPENを、入力プリプロセッサを呼び出すコマンドラインに設定します。このコマンドラインには、1つの%sという文字列を含める必要があります。この文字列は、入力プリプロセッサコマンドが呼び出されるときにファイル名に置き換えられます。

lessが、LESSOPENによって開かれたファイルを閉じるとき、別のプログラムである入力ポストプロセッサが呼び出されます。このプログラムは、必要なクリーンアップアクション(例:LESSOPENによって作成された置換ファイルの削除)を実行できます。入力ポストプロセッサは、2つのコマンドライン引数、つまり、ユーザーが入力した元のファイル名と、LESSOPENによって出力された置換ファイルの名前を受け取ります。入力ポストプロセッサを設定するには、環境変数LESSCLOSEを、入力ポストプロセッサを呼び出すコマンドラインに設定します。このコマンドラインには、%sという文字列を2つ含めることができます。最初の%sは元のファイル名に置き換えられ、2番目の%sは置換ファイル名に置き換えられます。

たとえば、多くのUnixシステムでは、次の2つのスクリプトを使用すると、ファイルを圧縮形式で保持しながら、lessで直接表示できます。

lessopen.sh:
#! /bin/sh
case "$1" in
*.Z) TEMPFILE=$(mktemp)
uncompress -c $1  >$TEMPFILE  2>/dev/null
if [ -s $TEMPFILE ]; then
echo $TEMPFILE
else
rm -f $TEMPFILE
fi
;;
esac
lessclose.sh:
#! /bin/sh
rm $2

これらのスクリプトを使用するには、両方を実行可能パスに配置し、LESSOPEN="lessopen.sh %s"LESSCLOSE="lessclose.sh %s %s"を設定します。より複雑なLESSOPENおよびLESSCLOSEスクリプトを作成して、他の種類の圧縮ファイルを処理することもできます。

入力プリプロセッサを、置換ファイルをパイプでlessに直接渡すように設定することも可能です。これにより、表示を開始する前に、ファイル全体を解凍する必要がなくなります。このように動作する入力プリプロセッサは、入力パイプと呼ばれます。入力パイプは、置換ファイル名を標準出力に書き込む代わりに、置換ファイルの内容全体を標準出力に書き込みます。入力パイプが標準出力に文字を書き込まない場合、置換ファイルは存在せず、lessは通常どおり元のファイルを使用します。入力パイプを使用するには、環境変数LESSOPENの最初の文字を縦線|にして、入力プリプロセッサが入力パイプであることを示します。通常の入力プリプロセッサと同様に、コマンド文字列には%sという文字列を1つ含める必要があり、これは入力ファイルのファイル名に置き換えられます。


たとえば、多くの 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 つの縦線で始まる場合、スクリプトの終了ステータスは、出力が空の場合の動作を決定します。出力が空で、終了ステータスがゼロの場合、空の出力は置換テキストとして扱われます。出力が空で、終了ステータスがゼロでない場合、元のファイルが使用されます。

以前のバージョンの less との互換性のために、LESSOPEN が 1 つの縦線で始まる場合、プレプロセッサーの終了ステータスは無視されます。

入力パイプが使用される場合、LESSCLOSE ポストプロセッサーを使用できますが、通常は必要ありません。なぜなら、置換するファイルは存在しないからです。この場合、LESSCLOSE ポストプロセッサーに渡される置換ファイル名は "-" になります。

以前のバージョンの less との互換性のために、less が標準入力を表示している場合、入力プレプロセッサーまたはパイプは使用されません。ただし、LESSOPEN の最初の文字がハイフン (-) の場合、入力プレプロセッサーは、他のファイルと同様に、標準入力でも使用されます。この場合、ハイフンはプレプロセッサーコマンドの一部とは見なされません。標準入力が表示されている場合、入力プレプロセッサーには、1 つのハイフンからなるファイル名が渡されます。同様に、LESSOPEN の最初の 2 文字が縦線とハイフン (|-)、または 2 つの縦線とハイフン (||-) の場合、入力パイプは、他のファイルと同様に、標準入力でも使用されます。この場合も、ハイフンは入力パイプコマンドの一部とは見なされません。

ナショナル文字セット

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

  • 通常の文字: 画面に直接表示できます。
  • 制御文字: 画面に直接表示されるべきではありませんが、通常のテキストファイルに存在するはずです (バックスペースとタブなど)。
  • バイナリ文字: 画面に直接表示されるべきではなく、テキストファイルに存在するはずではありません。

「文字セット」は、どの文字を通常の文字、制御文字、およびバイナリ文字として扱うかの説明です。環境変数 LESSCHARSET を使用して、文字セットを選択できます。LESSCHARSET の可能な値は次のとおりです。

  • ascii: BS、TAB、NL、CR、および改ページは制御文字です。値が 32 と 126 の間のすべての文字は通常の文字です。それ以外はすべてバイナリ文字です。
  • iso8859: ISO 8859 文字セットを選択します。これは ASCII と同じですが、160 と 255 の間の文字は通常の文字として扱われます。

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 1252)に適した文字セットを選択します。

まれに、LESSCHARSETで定義できる文字セット以外の文字セットを使用するようにLESSを調整したい場合があります。 この場合、環境変数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 88.17b3.3b9.7b9.8b8.6b10.b.b.b. IBM-1047 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc 19.b iso8859 8bcccbcc18b95.33b. koi8-r 8bcccbcc18b95.b128. latin1 8bcccbcc18b95.33b. next 8bcccbcc18b95.bb125.bb

LESSCHARSETまたはLESSCHARDEFが設定されていない場合、LC_ALL、LC_CTYPE、またはLANG環境変数のいずれかに「UTF-8」、「UTF8」、「utf-8」、または「utf8」のいずれかの文字列が含まれている場合、デフォルトの文字セットはutf-8になります。

その文字列が見つからず、システムがsetlocaleインターフェースをサポートしている場合、lessはsetlocaleを使用して文字セットを決定します。 setlocaleは、LANGまたはLC_CTYPE環境変数を設定することで制御されます。

最後に、setlocaleインターフェースも利用できない場合、デフォルトの文字セットはutf-8になります。

制御文字とバイナリ文字は、目立つ(反転ビデオ)で表示されます。 各文字は、可能な場合はキャレット表記で表示されます(例:制御-Aの場合は^A)。 キャレット表記は、0100ビットを反転させると通常の印刷可能な文字になる場合にのみ使用されます。 それ以外の場合は、文字は角度記号で囲まれた16進数で表示されます。 この形式は、LESSBINFMT環境変数を設定することで変更できます。 LESSBINFMTは、「*」と1つの文字で始めることができ、表示属性を選択します。 「*k」は点滅、「*d」は太字、「*u」は下線、「*s」は目立つ、「*n」は通常です。 LESSBINFMTが「*」で始まらない場合、通常の属性が想定されます。 LESSBINFMTの残りの部分は文字列であり、printfスタイルのエスケープシーケンス(「%」の後にx、X、o、dなどが続く)を1つ含めることができます。 たとえば、LESSBINFMTが「*u[%x]」の場合、バイナリ文字は下線付きの16進数で、角かっこで囲んで表示されます。 LESSBINFMTが指定されていない場合のデフォルトは、「*s<%02X>」です。 警告:LESSBINFMTを使用して文字を拡張した結果は、31文字未満である必要があります。

文字セットが utf-8 の場合、LESSUTFBINFMT 環境変数は LESSBINFMT と同様に動作しますが、これは正常にデコードされたものの、表示に適さない Unicode コードポイントに適用されます (例: 未割り当てのコードポイント)。デフォルト値は <U+%04lX> です。LESSUTFBINFMT と LESSBINFMT は、表示属性設定 ("*x") を共有するため、一方を指定すると他方に影響します。LESSUTFBINFMT は LESSBINFMT の後に読み込まれるため、指定された場合は、その設定が優先されます。

UTF-8 ファイル内の問題のあるオクテット (切り捨てられたシーケンスのオクテット、完全だが最短でない形式のシーケンスのオクテット、無効なオクテット、および残りの不要なオクテット) は、LESSBINFMT を使用して個別に表示され、UTF-8 ファイルの不正な形式を診断しやすくします。

文字セットが utf-8 の場合、まれなケースでは、特定の文字の Unicode 定義をオーバーライドすることが望ましい場合があります。たとえば、プライベート使用領域の文字は通常、制御文字として扱われますが、カスタムフォントを使用してその範囲に印刷可能な文字を使用している場合、less にそのような文字を印刷可能として扱うように指示することが望ましい場合があります。これは、LESSUTFCHARDEF 環境変数を、コンマで区切られた文字タイプ定義のリストに設定することで実行できます。各文字タイプ定義は、1 つの 16 進数コードポイント、またはダッシュで区切られた 2 つのコードポイントのペアで構成され、その後にコロンとタイプ文字が続きます。各 16 進数コードポイントは、オプションで "U" または "U+" で始まる場合があります。コードポイントのペアが与えられた場合、タイプは 2 つの値の間 (両端を含む) のすべての文字に対して設定されます。複数のコンマで区切られたコードポイント値がある場合、それらは昇順でなければなりません。タイプ文字は、次のいずれかになります。

p   通常の印刷可能な文字。

w   広い (2 文字幅の) 印刷可能な文字。

b   バイナリ (印刷不可) 文字。

c   合成 (ゼロ幅) 文字。

たとえば、LESSUTFCHARDEF を次のように設定すると、

E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

すべてのプライベート使用領域の文字が印刷可能として扱われます。

プロンプト

-P オプションを使用すると、プロンプトを好みに合わせてカスタマイズできます。-P オプションに与えられた文字列は、指定されたプロンプト文字列を置き換えます。文字列内の特定の文字は特別に解釈されます。プロンプトメカニズムは、柔軟性を提供するためにかなり複雑ですが、通常のユーザーは、パーソナライズされたプロンプト文字列の構築方法を理解する必要はありません。


パーセント記号の後に単一の文字が続く場合、その文字に応じて展開されます。(以下に示す入力ファイルのサイズは、入力プリプロセッサが使用されている場合は、プリプロセス後のサイズを指します。)

%bX 現在の入力ファイル内のバイトオフセットに置き換えられます。b の後には、展開に使用する行を指定する単一の文字(上記では X で示されます)が続きます。文字が「t」の場合、表示の最上部の行のバイトオフセットが使用されます。「m」は中央の行、「b」は最下部の行、「B」は最下部の行の直後の行、「j」は -j オプションで指定された「ターゲット」行を使用します。

%B  現在の入力ファイルのサイズに置き換えられます。

%c  画面の最初の列に表示されるテキストの列番号に置き換えられます。

%dX 入力ファイル内の行のページ番号に置き換えられます。使用する行は、%b オプションと同様に、X によって決定されます。

%D  入力ファイル内のページ数、または同等に、入力ファイル内の最後の行のページ番号に置き換えられます。

%E  VISUAL 環境変数(または、VISUAL が定義されていない場合は EDITOR 環境変数)からエディターの名前を取得し、それに置き換えます。後述する LESSEDIT 機能の説明を参照してください。

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

%F  現在の入力ファイル名の最後のコンポーネントに置き換えられます。

%g  現在の入力ファイル名をシェルで安全にエスケープした文字列に置き換えます。これは、展開された文字列がシェルコマンドで使用される場合(LESSEDIT 内など)に役立ちます。

%i  入力ファイルのリスト内の現在のファイルのインデックスに置き換えられます。

%lX 入力ファイル内の行番号に置き換えられます。使用する行は、%b オプションと同様に、X によって決定されます。

%L  入力ファイル内の最後の行の行番号に置き換えられます。

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

%o  現在選択されている OSC 8 ハイパーリンクの URI、またはハイパーリンクが選択されていない場合は疑問符に置き換えられます。これは、^O^O コマンドの説明で説明されている OSC 8 ハンドラーで使用されます。

%pX 現在の入力ファイル内のバイトオフセットに基づいて、パーセンテージに置き換えられます。使用する行は、%b オプションと同様に、X によって決定されます。

%PX 現在の入力ファイル内の行番号に基づいて、パーセンテージに置き換えられます。使用する行は、%b オプションと同様に、X によって決定されます。

%s  %B と同じです。

%t  末尾の空白を削除します。通常は文字列の末尾で使用されますが、どこにでも配置できます。

%T  通常は「file」という単語に展開されます。ただし、-t オプションを使用してタグリストを介してファイルを表示している場合、これは「tag」という単語に展開されます。

%x     次の入力ファイルの名前に置き換えられます。

不明な項目がある場合(入力がパイプの場合など)、疑問符が出力されます。

プロンプト文字列の形式は、特定の条件に応じて変更できます。疑問符の後に単一の文字が続くと、「IF」のように機能します。続く文字に応じて、条件が評価されます。条件が真の場合、疑問符と条件文字の後に続く文字は、ピリオドまでプロンプトに含まれます。条件が偽の場合、これらの文字は含まれません。疑問符とピリオドの間にコロンがあると、「ELSE」を確立するために使用できます。コロンとピリオドの間の文字は、IF条件が偽の場合にのみ文字列に含まれます。条件文字(疑問符の後に続く)は次のとおりです。

?a     これまでにプロンプトに文字が含まれている場合に真。

?bX    指定された行のバイトオフセットがわかっている場合に真。

?B     現在の入力ファイルのサイズがわかっている場合に真。

?c     テキストが水平方向にシフトされている場合に真(%c はゼロではありません)。

?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(%T %i of %m) ..?e(END) ?x- Next\: %x..%t

ファイル内の最初のプロンプトである場合にファイル名を出力し、複数の入力ファイルがある場合は「file N of N」というメッセージを出力します。次に、ファイルの終わりに達した場合、文字列「(END)」を出力し、次のファイルがある場合は、次のファイルの名前を出力します。最後に、末尾のスペースが切り捨てられます。これはデフォルトのプロンプトです。参考までに、他の 2 つのプロンプト(-m および -M)のデフォルトを次に示します。ここでは、読みやすくするためにそれぞれ 2 行に分割しています。


?n?f%f .?m(%T %i of %m) ..?e(END) ?x- 次へ: %x.:
?pB%pB\%:byte %bB?s/%s...%t

?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :
byte %bB?s/%s. .?e(END) ?x- 次へ: %x.:?pB%pB\%..%t

そして、= コマンドによって生成されるデフォルトのメッセージは次のとおりです。

?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .
byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

プロンプトの展開機能は、別の目的にも使用されます。環境変数 LESSEDIT が定義されている場合、v コマンドが呼び出されたときに実行するコマンドとして使用されます。LESSEDIT 文字列は、プロンプト文字列と同様の方法で展開されます。LESSEDIT のデフォルト値は次のとおりです。

%E ?lm+%lm. %g

これは、エディタ名、それに +、行番号、シェルでエスケープされたファイル名に展開されます。エディタが "+行番号" 構文を受け入れない場合、または呼び出し構文に他の違いがある場合は、LESSEDIT 変数を変更して、このデフォルトを変更できます。

セキュリティ

環境変数 LESSSECURE が 1 に設定されている場合、less は「セキュア」モードで実行されます。このモードでは、次の機能が無効になります。

edit      edit コマンド (v)

examine   examine コマンド (:e)

glob      ファイル名内の * などのメタ文字、
およびファイル名の自動補完 (TAB, ^L)

history   履歴ファイル

lesskey   lesskey ファイルの使用 (-k および --lesskey-src)

lessopen  入力プリプロセッサ (LESSOPEN 環境変数)

logfile   ログファイル (s および -o)

osc8      OSC 8 リンクの開く (^O^O)

pipe      パイプコマンド (|)

shell     シェルおよび pshell コマンド (! および #)

stop      SIGSTOP シグナルによる less の停止

tags      タグファイルの使用 (-t)

LESSSECURE_ALLOW 環境変数を、LESSSECURE が設定されているときに選択的に有効にする機能の名前のコンマ区切りのリストに設定できます。各機能名は、上記のリストの各行の最初の単語です。機能名は、あいまいでない限り、省略できます。たとえば、LESSSECURE=1 かつ LESSSECURE_ALLOW=hist,edit が設定されている場合、上記すべての機能は無効になり、履歴ファイルと edit コマンドのみが有効になります。

Less は、永久に「セキュア」モードでコンパイルすることもできます。この場合、LESSSECURE および LESSSECURE_ALLOW 変数は無視されます。

MORE との互換性

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

-e オプションの動作が異なります。-e オプションが設定されていない場合、less は -e オプションが設定されているかのように動作します。-e オプションが設定されている場合、less は -E オプションが設定されているかのように動作します。

-m オプションは、通常とは異なる動作をします。-m オプションが設定されていない場合、標準のプロンプトが使用され、"——More——" という文字列が先頭に追加されます。-m オプションが設定されている場合、短いプロンプトが使用されます。

-n オプションは、-z オプションと同様に動作します。-n オプションの通常動作は、このモードでは利用できません。

-p オプションのパラメータは、検索パターンではなく、less コマンドとして扱われます。

LESS 環境変数は無視され、代わりに MORE 環境変数が使用されます。

環境変数

環境変数は、通常どおりシステム環境で指定することも、lesskey(1) ファイルで指定することもできます。環境変数が複数の場所で定義されている場合、ローカルの lesskey ファイルで定義された変数は、システム環境で定義された変数よりも優先され、システム全体の lesskey ファイルで定義された変数よりも優先されます。

COLUMNS

画面上の列数を設定します。TERM 変数で指定された列数よりも優先されます。(ただし、TIOCGWINSZ または WIOCGETD をサポートするウィンドウシステムがある場合、ウィンドウシステムの画面サイズが LINES および COLUMNS 環境変数よりも優先されます。)

EDITOR

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

HOME

ユーザーのホームディレクトリの名前(Unix および OS/2 システムで lesskey ファイルを見つけるために使用されます)。

HOMEDRIVE, HOMEPATH

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

INIT

ユーザーの初期化ディレクトリの名前(OS/2 システムで lesskey ファイルを見つけるために使用されます)。

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" に設定すると、履歴ファイルは使用されません。デフォルトはオペレーティングシステムによって異なりますが、通常は次のようになります。


Linux および Unix "$XDG_STATE_HOME/lesshst" または "$HOME/.local/state/lesshst" または "$XDG_DATA_HOME/lesshst" または "$HOME/.lesshst"。

Windows および MS-DOS "$HOME/_lesshst"。

OS/2   "$HOME/lesshst.ini" または "$INIT/lesshst.ini"。

LESSHISTSIZE

履歴ファイルに保存するコマンドの最大数。デフォルトは 100 です。

LESSKEYIN

デフォルトの lesskey ソースファイルの名前。

LESSKEY

デフォルトの lesskey バイナリファイルの名前。("$LESSKEYIN" が存在する場合、使用されません。)

LESSKEY_CONTENT

値は、--lesskey-content オプションのパラメータとして解析されます。

LESSKEYIN_SYSTEM

デフォルトのシステム全体の lesskey ソースファイルの名前。

LESSKEY_SYSTEM

デフォルトのシステム全体の lesskey バイナリファイルの名前。("$LESSKEYIN_SYSTEM" が存在する場合、使用されません。)

LESSMETACHARS

シェルによって「メタ文字」と見なされる文字のリスト。

LESSMETAESCAPE

less がシェルに送信するコマンドの各メタ文字の前に追加するプレフィックス。 LESSMETAESCAPE が空の文字列の場合、メタ文字を含むコマンドはシェルに渡されません。

LESSOPEN

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

LESSSECURE

less を「セキュア」モードで実行します。セキュリティに関する議論を参照してください。

LESSSECURE_ALLOW

通常、LESSSECURE によって無効になっている個々の機能を有効にします。セキュリティに関する議論を参照してください。

LESSSEPARATOR

ファイル名補完でディレクトリ名の末尾に追加される文字列。

LESSUTFBINFMT

印刷できない Unicode コードポイントを表示するための形式。

LESSUTFCHARDEF

指定された Unicode 文字の型をオーバーライドします。

LESS_COLUMNS

画面上の列数を設定します。COLUMNS とは異なり、システムの画面サイズの概念よりも優先されるため、less を画面幅全体よりも少なく使用するように設定できます。負の値に設定すると、実際の画面幅よりもこの値だけ少ない列数を使用するように設定されます。

LESS_LINES

画面上の行数を設定します。LINES とは異なり、システムの画面サイズの概念よりも優先されるため、less を画面高さ全体よりも少なく使用するように設定できます。設定すると、less はすべての移動コマンドで画面全体を再描画するため、スクロールが遅くなる可能性があります。

LESS_DATA_DELAY

入力からのデータの読み込みを開始してから、「データの待機中」メッセージが表示されるまでの期間(ミリ秒単位)。デフォルトは 4000 (4 秒) です。

LESS_IS_MORE

more(1) コマンドをエミュレートします。

LESS_OSC8_xxx

ここで "xxx" は "http" または "file" などの URI スキームです。URI にそのスキームを含む OSC 8 リンクを開くための OSC 8 ハンドラーを設定します。

LESS_OSC8_ANY

特定の LESS_OSC8_xxx ハンドラーが設定されていない "xxx" スキームの OSC 8 リンクを開くための OSC 8 ハンドラーを設定します。


`LESS_TERMCAP_xx`
ここで "xx" は任意の2文字を表し、ターミナルの "xx" 機能の定義を上書きします。

`LESS_UNSUPPORT`
スペースで区切られたコマンドラインオプションのリストです。これらのオプションは、コマンドラインまたは `LESS` 環境変数に表示された場合、無視されます(エラーメッセージは表示されません)。
`LESS_UNSUPPORT` にリストされているオプションは、`-` および `--` コマンドによって変更できます。 `LESS_UNSUPPORT` 内の各オプションは、ダッシュの後に続く1文字のオプション文字、または2つのダッシュの後に続く長いオプション名です。

`LINES` 画面上の行数を設定します。これは、`TERM` 変数で指定された行数よりも優先されます。(ただし、`TIOCGWINSZ` または `WIOCGETD` をサポートするウィンドウシステムがある場合、ウィンドウシステムの画面サイズが `LINES` および `COLUMNS` 環境変数の値よりも優先されます。)

`MORE` `less` を `more` と互換性のあるモードで実行するときに、自動的に `less` に渡されるオプションです。

`PATH` ユーザーの検索パス(MS-DOS、Windows、およびOS/2 システムで `lesskey` ファイルを見つけるために使用されます)。

`SHELL` `!` コマンドを実行し、ファイル名を展開するために使用されるシェルです。

`TERM` `less` が実行されているターミナルの種類です。

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

`XDG_CONFIG_HOME`
`lesskey` ファイルの可能な場所です。キーバインディングのセクションを参照してください。

`XDG_DATA_HOME`
履歴ファイルの可能な場所です。`LESSEHISTFILE` 環境変数の説明を参照してください。

`XDG_STATE_HOME`
履歴ファイルの可能な場所です。`LESSEHISTFILE` 環境変数の説明を参照してください。

関連項目

`lesskey(1)`, `lessecho(1)`

著作権

Copyright (C) 1984-2024 Mark Nudelman

`less` は GNU プロジェクトの一部であり、フリーソフトウェアです。あなたはそれを再配布および/または変更することができます。
ただし、(1) Free Software Foundation によって公開された GNU General Public License、または (2) Less License のいずれかの条件に従う必要があります。再配布の詳細については、`less` ディストリビューションの `README` ファイルを参照してください。
GNU General Public License のコピーは、`less` のソースと一緒に配布されているはずです。`COPYING` ファイルを参照してください。もしそうでない場合は、Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA に手紙を送ってください。
また、Less License のコピーも配布されているはずです。`LICENSE` ファイルを参照してください。

`less` は、有用であることを期待して配布されていますが、いかなる保証もありません。たとえ商品性または特定の目的に対する適合性の黙示的な保証であってもです。詳細は GNU General Public License を参照してください。

著者

Mark Nudelman
バグは [https://github.com/gwsw/less/issues](https://github.com/gwsw/less/issues) に報告してください。
詳細については、`less` のホームページ [https://greenwoodsoftware.com/less](https://greenwoodsoftware.com/less) を参照してください。