Previous: , Up: レジスター   [Contents][Index]


14.8 ブックマーク

ブックマーク(Bookmarks)とは、ジャンプしたい位置を記録するレジスターのようなものです。レジスターとの違いは、長い名前をもつことができ、次のEmacsセッションに自動的に引き継がれることです。ブックマークの典型的な使い方は、さまざまなファイルのどこを読んでいたかを記録することです。

C-x r m RET

visitしているファイルのポイント位置に、ブックマークをセットします。

C-x r m bookmark RET

ポイント位置に、bookmarkという名前のブックマークをセットします(bookmark-set)。

C-x r M bookmark RET

C-x r mと同様ですが、既存のブックマークを上書きしません。

C-x r b bookmark RET

bookmarkという名前のブックマークにジャンプします(bookmark-jump)。

C-x r l

すべてのブックマークを一覧します(list-bookmarks)。

M-x bookmark-save

現在のすべてのブックマークの値を、デフォルトのブックマークファイルに保存します。

visitしているファイル内のカレント位置を記録するには、コマンドC-x r mを使用します。これは、ブックマーク名のデフォルトとしてファイル名を使います。ブックマークが指すファイルをもとにブックマークの名前を付ければ、C-x r b (bookmark-jump)で任意のファイルを再びvisitして、同時にブックマーク位置に移動するという操作を楽に行えます。

グラフィカルなディスプレイでは、C-x r mはカレント位置の記録に加えて記録した位置に対応するスクリーン行の左フリンジ(ウィンドウのフリンジを参照)に、そこにブックマークがあることを示すための特別なイメージを配置します。これはユーザーオプションbookmark-fringe-markによって制御できます。nilにカスタマイズすればこのフリンジマークを無効にできます。デフォルト値のbookmark-markはこの目的にたいしてビットマップを使用します。後からC-x r bを用いてブックマークに戻ると、フリンジ上にフリンジマークが再表示されます。

コマンドC-x r M (bookmark-set-no-overwrite)はC-x r mと同じように機能しますが、指定されたブックマークがすでに存在する場合は、上書きするかわりにエラーをシグナルします。

すべてのブックマークのリストを別のバッファーに表示するには、C-x r l (list-bookmarks)とタイプします。そのバッファーに切り替えて、ブックマークの定義の編集やブックマークに注釈をつけることができます。ブックマークバッファーでC-h mとタイプすれば、特別な編集コマンドに関する情報を見ることができます。

Emacsを終了するとき、もしブックマークの値を変更していたら、Emacsはブックマークを保存します。M-x bookmark-saveコマンドで、いつでもブックマークを保存できます。ブックマークは~/.emacs.d/bookmarksというファイルに保存されます(古いバージョンのEmacsとの互換性を保つため、もし~/.emacs.bmkというファイルがあればそのファイルに保存します)。ブックマークコマンドは、デフォルトのブックマークファイルを自動的にロードします。この保存とロードにより、ブックマークの内容を次のEmacsセッションに引き継ぐことができるのです。

bookmark-save-flagに1をセットすると、ブックマークをセットするコマンドはブックマークの保存も行ないます。こうすることにより、Emacsがクラッシュしてもブックマークを失わずにすみます。この変数の値が数字の場合、それはブックマークを何回変更したら保存するという意味です。この変数にnilをセットすると、Emacsは明示的にM-x bookmark-saveを使ったときだけブックマークを保存します。

変数bookmark-default-fileには、ブックマークを保存するデフォルトのファイルを指定します。

変数bookmark-use-annotationstにセットすれば、ブックマークへの問い合わせは注釈について行われるようにセットされます。ブックマークに注釈があれば、ブックマークへのジャンプ時には別ウィンドウに注釈が自動的に表示されます。

ブックマークの位置は周囲のコンテキストとともに保存されるので、ファイルが多少変更されていてもbookmark-jumpは正確な位置を見つけることができます。変数bookmark-search-sizeはブックマーク位置のコンテキストの前後何文字を記録するかを指定します(暗号化されたファイルをvisitしているバッファーでは、この変数の値に関係なくブックマークファイルにコンテキストは保存されない)。

以下はブックマークを処理する追加のコマンドです:

M-x bookmark-load RET filename RET

ブックマークのリストを含む、filenameという名前のファイルをロードします。このコマンドはbookmark-writeと同様に、デフォルトのブックマークファイルに加えて、他のファイルのブックマークを使うことができます。

M-x bookmark-write RET filename RET

現在のすべてのブックマークをファイルfilenameに保存します。

M-x bookmark-delete RET bookmark RET

bookmarkという名前のブックマークを削除します。

M-x bookmark-insert-location RET bookmark RET

ブックマークbookmarkが指すファイル名をバッファーに挿入します。

M-x bookmark-insert RET bookmark RET

ブックマークbookmarkが指すファイルの内容をバッファーに挿入します。