ブックマーク(Bookmarks)とは、ジャンプしたい位置を記録するレジスターのようなものです。レジスターとの違いは、長い名前をもつことができ、次のEmacsセッションに自動的に引き継がれることです。ブックマークの典型的な使い方は、さまざまなファイルのどこを読んでいたかを記録することです。
visitしているファイルのポイント位置に、ブックマークをセットします。
ポイント位置に、bookmarkという名前のブックマークをセットします(bookmark-set
)。
C-x r mと同様ですが、既存のブックマークを上書きしません。
bookmarkという名前のブックマークにジャンプします(bookmark-jump
)。
すべてのブックマークを一覧します(list-bookmarks
)。
現在のすべてのブックマークの値を、デフォルトのブックマークファイルに保存します。
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-annotations
をt
にセットすれば、ブックマークへの問い合わせは注釈について行われるようにセットされます。ブックマークに注釈があれば、ブックマークへのジャンプ時には別ウィンドウに注釈が自動的に表示されます。
ブックマークの位置は周囲のコンテキストとともに保存されるので、ファイルが多少変更されていてもbookmark-jump
は正確な位置を見つけることができます。変数bookmark-search-size
はブックマーク位置のコンテキストの前後何文字を記録するかを指定します(暗号化されたファイルをvisitしているバッファーでは、この変数の値に関係なくブックマークファイルにコンテキストは保存されない)。
以下はブックマークを処理する追加のコマンドです:
ブックマークのリストを含む、filenameという名前のファイルをロードします。このコマンドはbookmark-write
と同様に、デフォルトのブックマークファイルに加えて、他のファイルのブックマークを使うことができます。
現在のすべてのブックマークをファイルfilenameに保存します。
bookmarkという名前のブックマークを削除します。
ブックマークbookmarkが指すファイル名をバッファーに挿入します。
ブックマークbookmarkが指すファイルの内容をバッファーに挿入します。