LESSKEY

Section: User Commands (1)
Updated: 29 Jan 2026
Index JM Home Page roff page
 

名前

lesskey - less のキー割り当てを指定します  

書式(廃止予定)

lesskey [-o output] -- input
lesskey [--output=output] -- input

lesskey -V
lesskey --version  

スコープ

このドキュメントでは、 less バージョン 582 以降で使用される lesskey ソースファイルの形式について説明します。less の以前のバージョンでは、lesskey ソースファイルを less が理解できる形式にコンパイルするために、lesskey と呼ばれる別のプログラムが使用されていました。このコンパイル手順は不要になったため、lesskeyプログラムは廃止されましたが、ファイル形式は less 自体によってサポートされたままです。

 

説明

lesskey ファイルは、less の後続の呼び出しで使用されるキー・バインディングと環境変数のセットを指定します。  

ファイル形式

入力ファイルには、1 つ以上の sections が含まれています。各セクションは、セクションのタイプを識別する行で始まります。指定できるセクションは次のとおりです:
#command
コマンドキーの組み合わせをカスタマイズします。
#line-edit
行編集キーの割り当てをカスタマイズします。
#env
環境変数を定義します。

空白行は無視されます。行内でエスケープされていないハッシュマーク (#) の後に続くテキストは、以下に示す場合を除き、無視されます。  

コマンドセクション

コマンドセクションは、次の行で始まります。

#command

コマンドセクションがファイル内の最初のセクションである場合、この行は省略できます。コマンドセクションは、次の形式の行で構成されます。


  string <whitespace> action <whitespace> [extra-string] <newline>

空白は、1つ以上のスペースやタブの任意のシーケンスです。string は、アクションを呼び出すコマンドキーです。string は、単一のコマンドキーの場合もあれば、最大 15個のキーのシーケンスの場合もあります。action は less アクションの名前で、以下の"使用例"セクションのリストにあります。string 中の文字は文字通りに表示される場合もあれば、コントロールキーを示すためにキャレットが先頭に付く場合もあります。バックスラッシュの後に 1~3 桁の 8 進数を指定すると、8 進数の値で文字を指定できます。バックスラッシュとそれに続く特定の文字は、次のように入力文字を指定します:

\bBACKSPACE(0x08)
\eESCAPE(0x1B)
\nNEWLINE(0x0A)
\rRETURN(0x0D)
\tTAB(0x09)

\k の後に続く 1 文字または 2 文字は、これらのキーのいずれかを押したときに生成される文字を表します。

\kbBACKSPACE (BackSpaceキー。\b と異なる場合があります)
\kBctrl-BACKSPACE
\kdDOWN ARROW
\kDPAGE DOWN
\keEND
\kEctrl-END
\kFshift-END
\khHOME
\kHctrl-HOME
\kIshift-HOME
\kiINSERT
\klLEFT ARROW
\kLctrl-LEFT ARROW
\kMshift-LEFT ARROW
\krRIGHT ARROW
\kRctrl-RIGHT ARROW
\kSshift-RIGHT ARROW
\ktBACKTAB
\kuUP ARROW
\kUPAGE UP
\kxDELETE
\kXctrl-DELETE
\k1F1
\kp1テンキーの左下のキー
\kp2テンキーの中央下のキー
\kp3テンキーの右下のキー
\kp4テンキーの中央の左キー
\kp5テンキーの中央のキー
\kp6テンキーの中央の右キー
\kp7テンキーの左上のキー
\kp8テンキーの上中央のキー
\kp9テンキーの右上のキー
\kp0テンキーパッドの 0
\kp*テンキーパッドの *
\kp/テンキーパッドの /
\kp-テンキーパッドの -
\kp+テンキーの +
\kp.テンキーの.(ピリオド)
\kp,テンキーパッドの ,

バックスラッシュとそれに続くその他の文字は、その文字が文字通りに解釈されることを示します。バックスラッシュの前に置く必要がある文字には、キャレット、スペース、タブ、ハッシュマーク、およびバックスラッシュ自体が含まれます。

アクションの後に "追加の" 文字列が続く場合があります。less の実行中にこのようなコマンドが入力されると、アクションが実行され、less に入力されたかのように、余分な文字列が解析されます。この機能は、場合によってはコマンドの機能を拡張するために使用できます。たとえば、次の例の "{" および ":t" コマンドを参照してください。また、キーを押したときに複数のコマンドを実行することもできます。たとえば、この行が lesskey ファイルにある場合、"B" キーを押すと、最初に "b" マークが設定され、次に文字列 "next" が検索されます。

    B set-mark b/next\n

この余分な文字列は、"終了" アクションに対して特別な意味を持ちます。less が終了すると、余分な文字列の最初の文字の ASCII 値が終了ステータスとして使用されます。  

次の入力ファイルには、less が使用する既定値コマンドキーのセットが記述されています。各コマンドのドキュメントは、less マニュアルページの、コマンドを実行するキーシーケンスの下にあります。

#command
\rforw-line
\nforw-line
eforw-line
jforw-line
\kdforw-line
Eforw-line
Nforw-line
kback-line
yback-line
Yback-line
Kback-line
Pback-line
\kuback-line
Jforw-line-force
Kback-line-force
Yback-line-force
dforw-scroll
Dforw-scroll
uback-scroll
Uback-scroll
\40forw-screen
fforw-screen
Fforw-screen
Vforw-screen
\kDforw-screen
bback-screen
Bback-screen
\evback-screen
\kUback-screen
zforw-window
wback-window
\e\40forw-screen-force
\ebback-screen-force
\ejforw-newline
\ekback-newline
Fforw-forever
\eFforw-until-hilite
\efforw-bell-hilite
Rrepaint-flush
rrepaint
Rrepaint
Lrepaint
\euundo-hilite
\eUclear-search
ggoto-line
\khgoto-line
\kHgoto-line \e{
\kIgoto-line \e{
\kegoto-end
\kEgoto-end \e}
\kFgoto-end \e}
<goto-line
\e<goto-line
ppercent
%percent
\e(left-scroll
\e)right-scroll
\e{no-scroll
\e}end-scroll
\klleft-scroll
\krright-scroll
\kLno-scroll
\kMno-scroll
\kRend-scroll
\kSend-scroll
{forw-bracket {}
}back-bracket {}
(forw-bracket ()
)back-bracket ()
[forw-bracket []
]back-bracket []
\eFforw-bracket
\eBback-bracket
Ggoto-end
\e>goto-end
>goto-end
Pgoto-pos
\eGgoto-end-buffered
=status
Gstatus
:fstatus
/forw-search
?back-search
\e/forw-search *
\e?back-search *
nrepeat-search
\enrepeat-search-all
Nreverse-search
\eNreverse-search-all
&filter
mset-mark
Mset-mark-bottom
\emclear-mark
goto-mark
XXgoto-mark
Eexamine
:eexamine
XVexamine
:nnext-file
:pprev-file
ONosc8-forw-search
Onosc8-forw-search
OPosc8-back-search
Oposc8-back-search
OOosc8-open
Ooosc8-open
OLosc8-jump
Olosc8-jump
tnext-tag
Tprev-tag
:xindex-file
:dremove-file
-toggle-option
:ttoggle-option t
stoggle-option o
## Use a long option name by starting the
## extra string with ONE dash; eg:
## s toggle-option -log-file\n
_display-option
|pipe
vvisual
!shell
#pshell
+firstcmd
\e[Mmouse
\e[<mouse6
\kp1goto-end
\kp2forw-line
\kp3forw-screen
\kp4left-scroll
\kp6right-scroll
\kp7goto-line
\kp8back-line
\kp9back-screen
\kp0noaction 0
\kp*noaction *
\kp/noaction /
\kp-noaction -
\kp+noaction +
\kp.noaction .
\kp,noaction ,
Hhelp
hhelp
\k1help
Vversion
0digit
1digit
2digit
3digit
4digit
5digit
6digit
7digit
8digit
9digit
qquit
Qquit
:qquit
:Qquit
ZZquit
 

優先順位

lesskey によって指定されたコマンドは、既定値コマンドよりも優先されます。既定のコマンドキーは、アクション "invalid" を使用して入力ファイルに含めることで無効にできます。あるいは、アクション "noaction" を使用して、キーが何もしないように定義することもできます。"noaction" は "invalid" と似ていますが、less は "invalid" コマンドに対してエラービープ音を出しますが、"noaction" コマンドに対してはエラービープ音を出しません。さらに、以下の制御行を追加することで、すべての既定値コマンドを無効にすることができます。

#stop

これにより、すべての既定値コマンドが無視されます。#stop 行は、ファイルのそのセクションの最後の行である必要があります。

#stop は危険であることに注意してください。すべての既定値コマンドが無効になっているため、必要なすべてのアクションを有効にするには、#stop 行の前に十分なコマンドを指定する必要があります。例えば、"終了"コマンドを提供しないことは、フラストレーションにつながる可能性があります。  

行編集セクション

行編集セクションは、次の行で始まります。

#line-edit

このセクションでは、通常のコマンドのキー割り当てを #command セクションで指定するのと同様の方法で、行編集コマンドの新しいキー割り当てを指定します。行編集セクションは、次の例に示すように、1 行に 1 つずつのキーとアクションのリストで構成されます。  

次の入力ファイルは、less が使用する既定値の行編集キーのセットを記述しています:

#line-edit
\tforw-complete
\17back-complete
\ektback-complete
\e\tback-complete
^Lexpand
^Vliteral
^Aliteral
\elright
\krright
\ehleft
\klleft
\ebword-left
\e\klword-left
\e\kLword-left
\ewword-right
\e\krword-right
\e\kRword-right
\eiinsert
\kiinsert
\exdelete
\kxdelete
\eXword-delete
\ekxword-delete
\kXword-delete
\e\bword-backspace
\kBword-backspace
\e0home
\khhome
\e$end
\keend
\ekup
\kuup
\ejdown
\kddown
^Gabort
\kp1end
\kp2down
\kp4left
\kp6right
\kp7home
\kp8up
\kp0noaction 0
\kp*noaction *
\kp/noaction /
\kp-noaction -
\kp+noaction +
\kp.noaction .
\kp,noaction ,
\e[Mmouse
\e[<mouse6
 

LESS 環境変数

環境変数セクションは、次の行で始まります。

#env

この行の後に環境変数の割り当てのリストが続きます。各行は、環境変数名、等号 (=)、および環境変数に割り当てる値で構成されます。等号の前後の空白は無視されます。この方法で割り当てられた変数は、less のみで見えます。システム環境と lesskey ファイルの両方で変数が指定されている場合は、lesskey ファイルの値が優先されます。

変数名の後に = ではなく += が付いている場合、文字列は変数の既存の値に追加されます。これは現在、+= 行が同じ変数の元の定義 (= 行)の直後にあり、他の変数の定義が介在していない場合にのみ機能します。ファイル内で以前に定義された変数にのみ追加できます。システム環境内の変数には追加できません。文字列は文字どおりに追加され、余分な空白は追加されません。したがって、空白が必要な場合は、前の行の末尾に追加する必要があります。(上記のように、等号の後のスペースは無視されるため、+= 文字列の先頭に追加することはできません。)

等号の後の文字列では、${NAME} という形式の部分文字列が環境変数 "NAME" の値に置き換えられます。変数の値は、システム環境、以前の lesskey ファイル、または現在の lesskey ファイル内の以前の定義のいずれかから取得できます。単純なテキスト置換は、構文 ${NAME/STRING/REPL} を使用して実行できます。これにより、指定した環境変数内のすべての "STRING" がテキスト "REPL" に置換されます。STRING は、単純なテキスト比較を使用して照合されます。メタ文字はサポートされていません。STRING また はREPL のスラッシュまたは右中括弧のインスタンスは、その前にtwo バックスラッシュを付けてエスケープする必要があります。REPL が空の文字列の場合、STRING のすべてのインスタンスが削除されます。右中括弧の直前のスラッシュは省略してもかまいません。複数の置換は、構文 ${NAME/STRING1/REPL1/STRING2/REPL2} などを使用して実行できます。  

条件付き設定

行が #version で始まり、その後に関係演算子とバージョン番号が続く場合、less または lesskey の実行バージョンが演算子と一致する場合に限り、行の残りが解析されます。これは、lesskey ファイルがless の異なるバージョンで使用されている場合に便利です。

たとえば、'sideways-search' という名前の新しいコマンドが less バージョン 777 に追加されたとします。次に、次の行はコマンドを Q キーに割り当てますが、これはless のバージョンがその時のみサポートします。777 より前のバージョンでは、この行は無視されます。

        #version >= 777  Q sideways-search

次の 6 つの演算子がサポートされています。

>より大きい
<より小さい
>=以上
<=以下
=同じ
!=等しくない

バージョン機能は、less およびバージョン 594 より前のlesskey ではサポートされていません。これらの古いバージョンでは、#version 行はすべて無視されます。  

次の入力ファイルは、less を実行し、バージョン 595 以降で --color オプションを追加した場合に、-i オプションと -S オプションを設定します。

        #env
        ## (Note that there must be a space at the end of the next line,
        ##  to separate the --color option from the -S option.)
        LESS = -i -S    #version >= 595  LESS += --color=Hkc
 

関連項目

less(1)  

警告:

MS-DOS および OS/2 システムでは、特定のキーが NUL文字 (0) で始まる一連の文字を送信します。このNUL文字は、lesskey ファイルでは \340 として表現されるべきです。  

著作権

Copyright (C) 1984-2026 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
バグレポートは https://github.com/gwsw/less/issues までお寄せください。


 

Index

名前
書式(廃止予定)
スコープ
説明
ファイル形式
コマンドセクション
優先順位
行編集セクション
LESS 環境変数
条件付き設定
関連項目
警告:
著作権
著者

This document was created by man2html, using the manual pages.