LESSKEY

Section: User Commands (1)
Updated: 29 Jan 2026
Index JM Home 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 進数の値で文字を指定できます。バックスラッシュとそれに続く特定の文字は、次のように入力文字を指定します:

\b BACKSPACE (0x08)
\e ESCAPE (0x1B)
\n NEWLINE (0x0A)
\r RETURN (0x0D)
\t TAB (0x09)

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

\kb BACKSPACE (BackSpaceキー。\b と異なる場合があります)
\kB ctrl-BACKSPACE
\kd DOWN ARROW
\kD PAGE DOWN
\ke END
\kE ctrl-END
\kF shift-END
\kh HOME
\kH ctrl-HOME
\kI shift-HOME
\ki INSERT
\kl LEFT ARROW
\kL ctrl-LEFT ARROW
\kM shift-LEFT ARROW
\kr RIGHT ARROW
\kR ctrl-RIGHT ARROW
\kS shift-RIGHT ARROW
\kt BACKTAB
\ku UP ARROW
\kU PAGE UP
\kx DELETE
\kX ctrl-DELETE
\k1 F1
\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
\r forw-line
\n forw-line
e forw-line
j forw-line
\kd forw-line
E forw-line
N forw-line
k back-line
y back-line
Y back-line
K back-line
P back-line
\ku back-line
J forw-line-force
K back-line-force
Y back-line-force
d forw-scroll
D forw-scroll
u back-scroll
U back-scroll
\40 forw-screen
f forw-screen
F forw-screen
V forw-screen
\kD forw-screen
b back-screen
B back-screen
\ev back-screen
\kU back-screen
z forw-window
w back-window
\e\40 forw-screen-force
\eb back-screen-force
\ej forw-newline
\ek back-newline
F forw-forever
\eF forw-until-hilite
\ef forw-bell-hilite
R repaint-flush
r repaint
R repaint
L repaint
\eu undo-hilite
\eU clear-search
g goto-line
\kh goto-line
\kH goto-line \e{
\kI goto-line \e{
\ke goto-end
\kE goto-end \e}
\kF goto-end \e}
< goto-line
\e< goto-line
p percent
% percent
\e( left-scroll
\e) right-scroll
\e{ no-scroll
\e} end-scroll
\kl left-scroll
\kr right-scroll
\kL no-scroll
\kM no-scroll
\kR end-scroll
\kS end-scroll
{ forw-bracket {}
} back-bracket {}
( forw-bracket ()
) back-bracket ()
[ forw-bracket []
] back-bracket []
\eF forw-bracket
\eB back-bracket
G goto-end
\e> goto-end
> goto-end
P goto-pos
\eG goto-end-buffered
= status
G status
:f status
/ forw-search
? back-search
\e/ forw-search *
\e? back-search *
n repeat-search
\en repeat-search-all
N reverse-search
\eN reverse-search-all
& filter
m set-mark
M set-mark-bottom
\em clear-mark
goto-mark
XX goto-mark
E examine
:e examine
XV examine
:n next-file
:p prev-file
ON osc8-forw-search
On osc8-forw-search
OP osc8-back-search
Op osc8-back-search
OO osc8-open
Oo osc8-open
OL osc8-jump
Ol osc8-jump
t next-tag
T prev-tag
:x index-file
:d remove-file
- toggle-option
:t toggle-option t
s toggle-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
v visual
! shell
# pshell
+ firstcmd
\e[M mouse
\e[< mouse6
\kp1 goto-end
\kp2 forw-line
\kp3 forw-screen
\kp4 left-scroll
\kp6 right-scroll
\kp7 goto-line
\kp8 back-line
\kp9 back-screen
\kp0 noaction 0
\kp* noaction *
\kp/ noaction /
\kp- noaction -
\kp+ noaction +
\kp. noaction .
\kp, noaction ,
H help
h help
\k1 help
V version
0 digit
1 digit
2 digit
3 digit
4 digit
5 digit
6 digit
7 digit
8 digit
9 digit
q quit
Q quit
:q quit
:Q quit
ZZ quit
 

優先順位

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

#stop

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

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

行編集セクション

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

#line-edit

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

例

次の入力ファイルは、less が使用する既定値の行編集キーのセットを記述しています:
#line-edit
\t forw-complete
\17 back-complete
\ekt back-complete
\e\t back-complete
^L expand
^V literal
^A literal
\el right
\kr right
\eh left
\kl left
\eb word-left
\e\kl word-left
\e\kL word-left
\ew word-right
\e\kr word-right
\e\kR word-right
\ei insert
\ki insert
\ex delete
\kx delete
\eX word-delete
\ekx word-delete
\kX word-delete
\e\b word-backspace
\kB word-backspace
\e0 home
\kh home
\e$ end
\ke end
\ek up
\ku up
\ej down
\kd down
^G abort
\kp1 end
\kp2 down
\kp4 left
\kp6 right
\kp7 home
\kp8 up
\kp0 noaction 0
\kp* noaction *
\kp/ noaction /
\kp- noaction -
\kp+ noaction +
\kp. noaction .
\kp, noaction ,
\e[M mouse
\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 までお寄せください。

関連キーワード

forw   back   キー   goto   変数   noaction   セクション   環境   テンキー   digit   アクション   lesskey   less   バックスラッシュ   ctrl   既定値   left   right   割り当て   サポート   コマンドキー   編集   空白   中央   テンキーパッド

Linux マニュアル 一覧

関連するコマンド・関数

gsignal.3   ssignal.3   man.1   env.1   setenv.3   unsetenv.3
 

Index

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

This document was created by man2html, using the manual pages.
Time: 04:38:48 GMT, October 11, 2026