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