VIMリファレンスマニュアル by Gordon Prieur
and Bram Moolenaar
目印機能 *sign-support*
1. 機能紹介 |sign-intro|
2. コマンド |sign-commands|
{Vi にはこの機能はない}
{|+signs| 機能付きでコンパイルした場合にのみ利用可能}
==============================================================================
1. 機能紹介 *sign-intro* *signs*
デバッガやその他のIDE{訳注: 統合開発環境}ツールはエディタをコントールする。その
エディタはユーザにファイルについての役立つ情報を素早く提供するために特別なハイ
ライトを表示できる必要がある。一例としては左のカラムにブレークポイントを示すア
イコンを持つデバッガを挙げることができる。別の例としてはプログラムカウンタ(PC)
を示す矢印が挙げられる。この目印機能により、ウィンドウの左端に目印やアイコン画
像を置いたり、ある行に適用される強調を定義することができるようになる。画像によ
る目印はgvimでだけ利用で可能である(しかしSun Microsystemsのdttermはそれをサ
ポートしている。これは著者が知り得る限りで唯一の端末エミュレータである)。テキ
ストによる目印と色による強調表示は、あらゆるカラーの端末エミュレータで利用でき
る。
目印と強調はデバッガにとってだけ便利なわけではない。SunのVisual WorkShopはビル
ドエラーとSourceBrowserの検索一致箇所を示すのに目印と強調を使用する。加えて、
デバッガは8個から10個の異なる目印と強調色をサポートする。|workshop|参照。
Netbeansは|netbeans|を参照。
目印を使うには2つの段階がある:
1. 目印を定義する。画像とテキストと強調色を指定する。例えば"break"の目印として
道路の停止の画像を使用し、テキストとして"!!"を使用して定義することができ
る。
2. 目印を設置する。目印を設置したいファイルと行番号を指定する。定義された目印
は異なるファイルと異なる位置に複数箇所に置くことができる。
ファイルに対して目印が定義されると、Vimは自動的に表示画面に2文字分のカラムを付
け加える。全てのサインが取り除かれるとそのカラムは消滅する。そのカラムは
SignColumnの色を使う|hl-SignColumn|。色を設定するには次のようにする:
:highlight SignColumn guibg=darkgrey
==============================================================================
2. コマンド *sign-commands* *:sig* *:sign*
次の例ではカレントファイルの23行目に"piet"という目印を置いている。目印は">>"と
いう文字をともなって表示されます。
:sign define piet text=>> texthl=Search
:exe ":sign place 2 line=23 name=piet file=" . expand("%:p")
:exe ":sign place 2 line=23 name=piet file=" . expand("%:p")
それをもう一度消すコマンドを追記しておく:
:sign unplace 2
":sign"コマンドの後には他のコマンドを続けられないことに注意してください。その
ようにするには|:execute|を使います。
目印を定義する *:sign-define* *E255* *E160* *E612*
:sign define {name} {argument}...
新しい目印を定義するか既にある目印に属性を設定する。{name}は番
号(全て数字)か非数字で始まる名前である。先導数字は無視されるの
で、"0012" と "012" と "12" は同じ名前として解釈されます。
約120の異なる目印を定義することができる。
利用可能な引数:
icon={bitmap}
目印に使用する画像ファイルを定義する。フルパス指定したほうが良
い。画像は2文字の幅に納まるものでなければならない。これは
チェックされない。大きすぎる画像を使用すると再描画の際に問題が
生じることがある。GTK2では画像がちょうど納まるように調整され
る。
{訳注: Windowsでは自動的に調整される}
toolkit サポートフォーマット
GTK 1 pixmap (.xpm)
GTK 2 many
Motif pixmap (.xpm)
Win32 .bmp, .ico, .cur
pixmap (.xpm) |+xpm_w32|
linehl={group}
目印が設置された行全体を強調表示するのに使われるハイライトグ
ループを定義する。背景色を定義するのに良く利用される。
text={text} *E239*
アイコンが無いかGUIではない時に表示されるテキストを定義する。
表示可能な文字のみ指定できる。これは表示幅で1文字か2文字分の文
字を指定できる。
{訳注: アルファベットなら1or2文字。漢字なら1文字}
texthl={group}
テキスト部分に使用されるハイライトグループ。
(定義した)目印を削除する *:sign-undefine* *E155*
:sign undefine {name}
既に定義された目印を削除する。{name}という名前の目印がまだ設置
されたままの場合はトラブルを引き起こす。
(定義した)目印を一覧表示する *:sign-list* *E156*
:sign list 全部の定義済み目印とその属性を一覧表示する。
:sign list {name}
{name}という名で定義された目印とその属性を表示する。
目印を設置する *:sign-place* *E158*
:sign place {id} line={lnum} name={name} file={fname}
{name}として定義された目印をファイル{fname}の{lnum}行目に設置
する。
*:sign-fname*
ファイル名{fname}は既に読込済みのバッファでなければなら
ない。正確なファイル名でなければならず、ワイルドカードや環境変
数そして"~"は展開されない。空白はエスケープされない。末尾の空
白は無視される。
目印は{id}という識別子で記憶され、後の操作に使用される。{id}は
番号でなければならない。
ユーザは自分で、1つの{id}が各々のファイルに1つしか無いように気
を付けなければならない(同じ{id}を複数回設置したときには解除も
同じ回数だけ行なう必要がある。同じ{id}を使うことで目印の位置を
変更しようという試みはうまく行かない)。
:sign place {id} line={lnum} name={name} buffer={nr}
上に同じ。バッファ番号を使用していることが異なる。
:sign place {id} name={name} file={fname}
ファイル{fname}に{id}で設置された目印を、{name}で定義されてい
る目印に変更する。{fname}については上述の|:sign-fname|を参照し
てください。
これは既に設置された目印を動かすことなく変更するのに使われる。
(例: デバッガがブレークポイントで停止した時)
:sign place {id} name={name} buffer={nr}
上に同じ。バッファ番号を使用していることが異なる。
(設置した)目印を解除する *:sign-unplace* *E159*
:sign unplace {id} file={fname}
ファイル{fname}に{id}で設置された目印を解除する。
{fname}については上述の|:sign-fname|を参照してください。
:sign unplace {id} buffer={nr}
上に同じ。バッファ番号を使用していることが異なる。
:sign unplace {id}
{id}で設置された目印を、全てのファイルから削除する。
:sign unplace *
設置された全ての目印を解除する。
:sign unplace
カーソル位置に設置されている目印を解除する。
(設置した)目印を一覧表示する
:sign place file={fname}
ファイル{fname}に設置されている目印を一覧表示する。
{fname}については上述の|:sign-fname|を参照してください。
:sign place buffer={nr}
バッファ{nr}に設置されている目印を一覧表示する。
:sign place 全てのファイルに設置されている全ての目印を一覧表示する。
(設置した)目印へ移動する *:sign-jump* *E157*
:sign jump {id} file={fname}
ファイル{fname}を開くか、{fname}を編集中のウィンドウへ移動し、
目印{id}の位置へカーソルを移動させる。
{fname}については上述の|:sign-fname|を参照してください。
ファイルがウィンドウに表示されておらず、現在のファイルを放棄で
きない時には、これは失敗する。
:sign jump {id} buffer={nr}
上に同じ。バッファ番号を使用していることが異なる。
vim:tw=78:ts=8:ft=help:norl: