less のキー割り当てを指定する
lesskey
は
less
で使われるキー割り当てのセットを指定するために使われる。
入力ファイルはキー割り当てを記述したテキストファイルである。
入力ファイルが - のときは、標準入力が読まれる。
入力ファイルが何も指定されないときは、
使用しているシステムに応じた
標準のファイル名が入力ファイルの名前として使われる。
Unix では $HOME/.lesskey が使われる。
MS-DOS では $HOME/_lesskey が使われる。
OS/2 では $HOME/lesskey.ini が使われ、
$HOME が定義されないときは $INIT/lesskey.ini が使われる。
出力ファイルは
less
で使われるバイナリファイルである。
出力ファイルが何も指定されておらず、
環境変数 LESSKEY が設定されている場合、
LESSKEY の値が出力ファイルの名前として使われる。
LESSKEY が指定されていない場合は、
使用しているシステムに応じた
標準のファイル名が出力ファイルの名前として使われる。
UNIX と OS-9 では $HOME/.less が使われる。
MS-DOS では $HOME/_less が使われる。
OS/2 では $HOME/less.ini が使われ、
$HOME が定義されないときは $INIT/less.ini が使われる。
出力ファイルが既に存在する場合、
lesskey
は出力ファイルを上書きする。
-V と --version オプションは、
lesskey
にバージョン番号を表示させて、すぐに終了させる。
-V または --version オプションが指定された場合、
他のオプションと引き数は無視される。
入力ファイルは、いくつかの
セクション
から構成される。
各セクションは、セクションのタイプを識別する行から始まる。
指定できるセクションを以下に示す。
#command
新しいコマンドラインキーを定義する。
#line-edit
新しいライン編集キーを定義する。
#env
環境変数を定義する。
空白行と特別なセクションヘッダ行を除く、
シャープ記号 (#) から始まる行は無視される。
less
が実行されているときにそのようなコマンドが入力されると、
アクションが実行された後、extra string が
less
で入力されたときと同じように解釈される。
この特色はコマンドの機能を拡張する場合に使われる。
下の { と :t コマンドの例を参照すること。
アクションが quit の場合、extra string は特別な意味を持つ。
less
が終了するとき、extra string の最初の 1 文字が終了ステータスとして使われる。
#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
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
F forw-forever
R repaint-flush
r repaint
^R repaint
^L repaint
\eu undo-hilite
g goto-line
< goto-line
\e< goto-line
p percent
% percent
\e[ left-scroll
\e] right-scroll
\e( left-scroll
\e) right-scroll
{ forw-bracket {}
} back-bracket {}
( forw-bracket ()
) back-bracket ()
[ forw-bracket []
] back-bracket []
\e^F forw-bracket
\e^B back-bracket
G goto-end
\e> goto-end
> goto-end
= 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
m set-mark
' goto-mark
^X^X goto-mark
E examine
:e examine
^X^V examine
:n next-file
:p prev-file
:x index-file
- toggle-option
:t toggle-option t
s toggle-option o
_ display-option
| pipe
v visual
! shell
+ firstcmd
@ rotate-right
H help
h 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
で指定されるコマンドは、デフォルトのコマンドより優先される。
action を invalid としたコマンドを入力ファイルに入れておくと、
デフォルトのコマンドキーを使用不可にすることができる。
また、action のところを noaction と記述することで、
そのキーは何もしないと定義される。
noaction は invalid に似ているが、
less
は invalid コマンドに対してエラーのビープ音を鳴らすが、
noaction コマンドに対しては何もしない。
さらに、次のコントロール行を入力ファイルに追加すると、
全てのデフォルトのコマンドが不可にできる。
#line-edit \t forw-complete \17 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 \ew word-right \e\kr word-right \ei insert \ex delete \kx delete \eX word-delete \ekx word-delete \e\b word-backspace \e0 home \kh home \e$ end \ke end \ek up \ku up \ej down
less
でしか参照されない。
ある変数がシステム環境でも lesskey ファイルでも指定されている場合、
lesskey ファイルでの値が優先される。
lesskey ファイルは環境変数を上書きするために使うこともできるが、
lesskey ファイルで環境変数を設定する主な目的は、
less
の全ての設定情報を 1 つのファイルに収めることである。
less
を常に -i オプションをつけて実行し、
文字セットを latin1 にするように指定している。
#env LESS = -i LESSCHARSET = latin1