16.1 Bind

bind は、ホットキーの定義、再定義に使用します。ホットキーとは、入力 カーソルがドライバのウィンドウ内にあるときに、あるキー、または複数のキ ーを押すことで、gnuplot のコマンド列を実行させる機能のことを言います。 bind は、gnuplot が mouse をサポートするようにコンパイルされていて かつマウスが有効な出力形式上で使われてる場合にのみ有効であることに注意 してください。キー割当 (binding) は、組み込み (builtin) キー割当 (通常 のエディタに似た形に設定されている) を上書きしますが、< space> と 'q' だけは再定義はできません (下で述べる 1 例を除いて)。マウスボタンも再定 義はできません。

ホットキーの一覧を得るには bind とタイプするか、グラフウィンドウ上で 'h' と入力してください。

修飾キーを含む複数のキーの定義は引用符で囲む必要があることに注意してく ださい。

標準ではホットキーは現在の描画ウィンドウ上に入力カーソルがある場合のみ 認識されます。bind allwindows < key> ... (bind all < key> ... と省略 可) は、< key> の割当を、それが現在の有効なものか否かに関わらず、すべて の gnuplot の描画ウィンドウ上で可能にします。この場合、gnuplot 変数 MOUSE_KEY_WINDOW にそれが行なわれたウィンドウの ID が保存されるのでそ れをキーに割り当てたコマンドで使用することができます。

デフォルトでは、< space> ホットキーは gnuplot のコマンドウィンドウを前 面に出します。いくつかの出力形式 (例えば x11, wxt) では 'q' はグラフウ ィンドウを閉じます。これらのデフォルトは、'gnuplot -ctrlq' のようにし て gnuplot を起動する (以下参照: x11 command-line-options (p. [*]))、または X リソースの 'gnuplot*ctrlq' で、ctrl-space や ctrl-q に変更できます。 注意: < space> (または ctrl-space) で X11 の gnuplot ウィンドウが前面に 出ない場合は、以下参照: raise (p. [*])

書式:

     bind {allwindows} [<key-sequence>] ["<gnuplot commands>"]
     bind!

例:

- キー割当の設定:


   bind a "replot"
   bind "ctrl-a" "plot x*x"
   bind "ctrl-alt-a" 'print "great"'
   bind Home "set view 60,30; replot"
   bind all Home 'print "This is window ",MOUSE_KEY_WINDOW'

- キー割当を表示:

   bind "ctrl-a"          # ctrl-a に対するキー割当を表示
   bind                   # 全てのキー定義を表示

- キー割当を削除:

   bind "ctrl-alt-a" ""   # ctrl-alt-a のキー割当を削除
                            (組み込みキー定義は削除されません)
   bind!                  # デフォルト (組み込み) のキー定義を導入

- トグルスイッチ形式にキー割当:

 v=0
 bind "ctrl-r" "v=v+1;if(v%2)set term x11 noraise; else set term x11 raise"

修飾キー (ctrl / alt) は大文字小文字の区別はありませんが、キーはそうで はありません:

   ctrl-alt-a == CtRl-alT-a
   ctrl-alt-a != ctrl-alt-A

修飾キー (alt == meta) の一覧:

   ctrl, alt

サポートされている特殊キーの一覧:


  "BackSpace", "Tab", "Linefeed", "Clear", "Return", "Pause", "Scroll_Lock",
  "Sys_Req", "Escape", "Delete", "Home", "Left", "Up", "Right", "Down",
  "PageUp", "PageDown", "End", "Begin",


  "KP_Space", "KP_Tab", "KP_Enter", "KP_F1", "KP_F2", "KP_F3", "KP_F4",
  "KP_Home", "KP_Left", "KP_Up", "KP_Right", "KP_Down", "KP_PageUp",
  "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert", "KP_Delete", "KP_Equal",
  "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract", "KP_Decimal",
  "KP_Divide",


  "KP_1" - "KP_9", "F1" - "F12"

以下も参照: mouse (p. [*]), if (p. [*])

竹野茂治@新潟工科大学
2009年4月5日