LESSKEY(1)

名称
lesskey - less のキー割当てを指定する

書式
lesskey [-o output] [--] [input]
lesskey [--output=output] [--] [input]
lesskey -V
lesskey --version

解説
lesskey は less で使われるキー割り当てのセットを指定するために使われます。 入力ファイルはキー割り当てを記述したテキストファイルです。 入力ファイルが "-" のときは、標準入力が読み込まれます。 入力ファイルが何も指定されない場合は、 使用しているシステムに応じた 標準のファイル名が入力ファイルの名前として使用されます: Unix システムでは $HOME/.lesskey が、 MS-DOS システムでは $HOME/_lesskey が、 OS/2 システムでは $HOME/lesskey.ini または $HOME が定義されてない場合は $INIT/lesskey.ini が 使用されます。 出力ファイルは less で使われるバイナリファイルです。 出力ファイルが何も指定されておらず、 環境変数 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 がある場合は、他のオプションと引き数は無視されます。

入力ファイルは、1 つ以上の セクション から構成されます。 各セクションは、セクションのタイプを明らかにする行から始まります。 指定できるセクションは次の通りです:

#command
    新しいコマンドキーを定義します。

#line-edit
    新しい行編集キーを定義します。

#env
    環境変数を定義します。

空白行と、特別なセクションヘッダ行を除いたシャープ符号 (#) から始まる行は 無視されます。

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

#command

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

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

空白 (whitespace) とは 1 つ以上のスペースと (または) タブの連続です。 string はアクションを起こすコマンドキーです。 string は単一のコマンドキー、または 15 個までのキーの連続です。 action は下記のリストにある less のアクション名です。 string 中の文字はそのまま書くか、あるいは キャレットを前においてコントロールキーであることを示します。 バックスラッシュとそれに続く 3 桁までの 8 進数で、 文字を 8 進数で指定できます。 バックスラッシュと、それに続く特定の文字は以下の入力を指定します:

\b  BACKSPACE

\e  ESCAPE

\n  NEWLINE

\r  RETURN

\t  TAB

\ku UP ARROW

\kd DOWN ARROW

\kr RIGHT ARROW

\kl LEFT ARROW

\kU PAGE UP

\kD PAGE DOWN

\kh HOME

\ke END

\kx DELETE

バックスラッシュの後に続く上に挙げた以外の文字は、 その文字が特殊文字としてでなく、文字通りに使われることを意味しています。 バックスラッシュを前に置かなければならない文字には、 キャレット、スペース、タブ、そしてバックスラッシュ自身が含まれます。

アクションの後には「追加の」文字列 (extra-string) が続くことがあります。 less を実行している際にそのようなコマンドが入力されると、 アクションが実行された後、 less に入力されたかのように追加の文字列が解釈されます。 この機能を用いてコマンドの機能を拡張することができます。 下の "{" と ":t" コマンドの例を参照してください。 "quit" アクションに対する追加の文字列は特別な意味を持っています: less が終了するとき、追加の文字列の最初の 1 文字が終了ステータスとして使われます。

使用例
以下の入力ファイルは、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
	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
	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 で指定されたコマンドは、デフォルトのコマンドよりも優先されます。 デフォルトのコマンドキーは、"invalid" アクションが指定されて 入力ファイルに含まれた場合は、無効化されます。 あるいは、"noaction" アクションが指定された場合は、 そのキーは何もしないと定義されます。 "noaction" は "invalid" と似ていますが、 less は、"invalid" なコマンドにはエラービープ音を鳴らしますが、 "noaction" なコマンドには鳴らしません。 さらに、次の制御行を入力ファイルに加えることにより、 全てのデフォルトのコマンドを無効化できます:

#stop

これにより、全てのデフォルトコマンドは無視されます。 #stop 行は、ファイル中の当該セクションの最後の行に置く必要があります。

#stop は危険を伴うことに気をつけてください。 全てのデフォルトコマンドが無効になるため、 必要な全てのアクションを有効にするために #stop 行の前に十分なコマンドを与える必要があります。 例えば "quit" コマンドを与え忘れると、失敗するでしょう。

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

#line-edit

このセクションは、#command セクションでの通常のコマンドのキー割り当ての 指定と似た方法で、 行編集コマンドの新しいキー割り当てを指定します。 行編集セクションは以下の例のように 1 行毎の キーとアクションのリストからなります。

使用例
以下の入力ファイルは less で使用される デフォルトの行編集キーのセットを記述しています。

	#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 環境変数セクション
環境変数セクションは次の行から始まります:

#env

この行の後には、環境変数割り当てのリストが続きます。 各行は、環境変数名、等号 (=)、環境変数に割り当てる値で構成されます。 等号の前後の空白は無視されます。 この方法で割り当てられる変数は、 less にしか見えません。 ある変数がシステム環境と、 さらに lesskey ファイルでも指定されている場合、 lesskey ファイルでの値が優先されます。 lesskey ファイルは環境で設定されている変数を上書きする用途に 使用することもできますが、 lesskey ファイルで変数を割り当てる主な目的は、単に less の全ての設定情報を 1 つのファイルに保存することです。

使用例
以下の入力ファイルは、 less の実行時に常に -i オプションを設定し、 文字集合を "latin1" にするように指定しています:

	#env
	LESS = -i
	LESSCHARSET = latin1

関連項目
less(1)

警告
上矢印のような特殊キーをキーボードに依存しない方法で指定することは できません。 そのようなキーを指定する唯一の方法は、 そのキーが押された際にそのキーボードが送るエスケープシーケンスを 指定することです。

MS-DOS と OS/2 システムでは、いくつかのキーは NUL 文字 (0) で 始まる文字列を送ります。 この NUL 文字は、lesskey ファイルでは \340 と表記する必要があります。

COPYRIGHT
Copyright (C) 2000 Mark Nudelman

lesskey is part of the GNU project and is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

lesskey 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.

You should have received a copy of the GNU General Public License along with lesskey; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

作者

Mark Nudelman <marknu@flash.net>
バグ報告やコメントは上記のアドレスまたは bug-less@gnu.org へ 送ってください。