Previous: , Up: Registers   [Contents][Index]


13.8 ブックマーク

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

C-x r m RET

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

C-x r m bookmark RET

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

C-x r b bookmark RET

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

C-x r l

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

M-x bookmark-save

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

ブックマークの典型的な使い方は、各ファイルごとに現在の位置を保存することです。そのためブックマークをセットするコマンドC-x r mは、ブックマーク名のデフォルトとしてファイル名を使います。ブックマークが指すファイルをもとにブックマークの名前を付ければ、C-x r bで任意のファイルを再びvisitして、同時にブックマーク位置に移動するという操作を楽に行えます。

すべてのブックマークのリストを別のバッファーに表示するには、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-jumpは正確な位置を見つけることができます。変数bookmark-search-sizeは、ブックマーク位置のコンテキストの前後何文字を記録するかを指定します。

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

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が指すファイルの内容をバッファーに挿入します。