VT220KEYS(1)

名称
vt220keys - VT220 端末上のシフトファンクションキーを定義

書式
vt220keys [ -cil ] [ keyname keystring ] ...

解説
vt220keys は、ユーザにシフトファンクションキーを定義させるために、 vt200 モード中の "vt220 端末" を設定します。 コマンドラインで指定される各 keyname は、特定の keystring がロードされます。 keyname は、以下の語句のうちのどれかです。
F6 F7 F8 F9 F10 F11 ESC F12 BS F13 LF F14 HELP DO F17 F18 F19 F20
keystrings は、空白やタブ、シェルのメタキャラクタを含む時には、クオートしなければ なりません。

vt220keys は、いくつかのオプションフラグの組み合わせや引数のペアを受け取ることを 期待しています。そうでない場合には、利用方法メッセージが表示されます。

オプションは以下の通りです。

-c  ユーザによる定義を行う前に、全てのシフトファンクションキーの定義を 消去します。

-i  シフトファンクションキー定義のための初期化ファイル $HOME/.vt220rc を読み込みます。これは、コマンドラインのどんな引数ペアを処理するよりも 前に行われます。このファイルの各行は、(空白かタブで 分けられた) 二つのフィールドから構成されていなければなりません。 最初のフィールドは keyname で、二番目のフィールドは keystring です。 二番目のフィールドは行末まで続きます。したがって、 keystring には空白やタブを含むかもしれません。 改行 (リターン) は、C 言語での改行表現 (\n) を使うことで、文字列中に 含めることができます。

-l  ファンクションキーを以降の定義からロックします。 ロックは、("i" オプションが指定されている時は、)初期化ファイルを 処理し、全ての引数ペアを処理した後で起こります。 ロックを解除するための唯一の方法は、電源を切ることです。

使用例
vt220keys -ci
vt220keys F6 'nroff -ms '
vt220keys -i F20 'cc -O -c '
vt220keys -l HELP man

その他の特徴
シフトキーを使わずにファンクションキーを押すと、文字列を生成します。 csh(1) では、この文字列をいくつかのコマンドに別名づけ(エイリアス) することができます。例えば以下のようにしてください。
    alias ^[[17~ "ls -CR | more"
ここで、 ^[[17~ は、 F6 キーを押したことによって生成された文字列です。 したがって、 F6 は、シフトキーを押すか、押さないかに依存して、 二つのコマンドを生成することができます。

vt220keys は、 .login や .profile から呼び出すことができます。典型的には、ユーザ は初期化ファイルを生成して、以下のようなコマンドで行を読み込みます。
    vt220keys -ci
または、
    vt220keys -cil
この方法では、シフトファンクションキーはログインした時にあなたの 好きなように設定されるでしょう。

警告
シフトファンクションキーがロックされていない時には、 シフトファンクションキーの再定義は、以前の定義を上書きします。

シフトファンクションキーには 256 バイトが利用可能です。 この領域は、最初に来たものに最初に与える方式で利用されます。 256 バイトが使われた後では、領域を解放しなければ他のキーを 定義することはできません。これは、より少ないバイトの文字列でキーを 再定義することで可能です。

全てのキー定義は、 揮発性の RAM に記憶されます。したがって、端末の 電源を切った時にはその定義は失われます。

(シフトを押さない) ESC キーはもはや正しいエスケープ文字を生成しません。 これは、たくさんのエディタが ESC キーの使用を要求するため、 特に重要です。ここでは、いくつかの利用可能な別の方法を紹介します。

エスケープ文字は、 ^[ (control-[) を入力することで生成できます。

vt220keys を以下のように利用してください(^[ は、 control-[ です)。
vt220keys ESC '^['
この方法では、エスケープ文字を生成するために、SHIFT キーと ESC キーを 押さなければなりません。

いくつかのエディタでは、他の文字をエスケープ文字と置き換えることが できます。例えば、 emacs では以下の行をあなたの .emacs_pro に挿入してください。
    (bind-to-key "ESC-prefix" "\033[23~")
ESC キーが押された時、 emacs は生成された文字列 (^[[23~) によって エスケープ文字が押された時と同じ機能を提供します。

関連ファイル
$HOME/.vt220rc    - 初期化ファイル

関連項目
VT220 Programmer Reference Manual
VT220 Programmer Pocket Guide