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 の値が出力ファイルの名前として使われる。 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
    環境変数を定義する。

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

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

#command

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

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

whitespace (空白) とはスペースとタブを 1 つ以上並べたものである。 string はアクションを起こすコマンドキーである。 string は 1 つのコマンドキー、または 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 が実行されているときにそのようなコマンドが入力されると、 アクションが実行された後、extra string が less で入力されたときと同じように解釈される。 この特色はコマンドの機能を拡張する場合に使われる。 下の "{" と ":t" コマンドの例を参照すること。 アクションが "quit" の場合、extra string は特別な意味を持つ。 less が終了するとき、extra string の最初の 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
	@		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" コマンドに対しては何もしない。 さらに、次のコントロール行を入力ファイルに追加すると、 全てのデフォルトのコマンドが不可にできる。

#stop

これにより、全てのデフォルトコマンドは無視される。 #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 (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 へ送って下さい。