ブックマークは、ジャンプ先の位置を記録するという点で、レジスタに似ています。レジスタとは異なり、名称が長く、Emacsのセッションをまたいで自動的に保持されます。ブックマークの典型的な用途は、さまざまなファイルでどこまで読んだかを記録することです。
ポイントに、閲覧したファイルのブックマークを設定します。
点 (bookmark-set) に bookmark
という名前のブックマークを設定する。
C-x r mと同様ですが、既存のブックマークを上書きしません。
bookmark (bookmark-jump)
という名前のブックマークにジャンプします。
すべてのブックマークを一覧表示します (list-bookmarks)。
現在のブックマーク値をすべてデフォルトのブックマークファイルに保存します。
訪問済みファイルに現在の位置を記録するには、訪問済みファイル名をブックマーク名のデフォルトとして設定するコマンド C-x r m を使用します。各ブックマークにそれが指すファイル名を付けておけば、C-x r b (bookmark-jump)
でそれらのファイルのいずれかに便利に再訪問でき、同時にブックマークの位置まで移動できます。
In addition to recording the current position, on graphical displays C-x r m places a special image on the left fringe (see Window Fringes) of the screen line
corresponding to the recorded position, to indicate that there’s a
bookmark there. This can be controlled by the user option bookmark-fringe-mark: customize it to nil to disable the fringe mark. The default value is
bookmark-mark, which is the bitmap used for this
purpose. When you later use C-x r b to jump back to
the bookmark, the fringe mark will be again shown on the fringe.
コマンド 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 に設定すると、明示的に M-x
bookmark-save を使用した場合にのみ Emacs がブックマークを保存します。
変数 bookmark-default-file
は、デフォルトでブックマークを保存するファイルを指定します。
変数 bookmark-use-annotations に t
を設定しておくと、ブックマークを設定した際にアノテーションが照会されます。ブックマークにアノテーションがある場合、そのブックマークにジャンプすると自動的に別ウィンドウで表示されます。
ブックマークの位置値は周囲のコンテキストと共に保存されるため、ファイルがわずかに変更された場合でも bookmark-jump が適切な位置を特定できます。変数 bookmark-search-size
は、ブックマーク位置の両側に何文字分のコンテキストを記録するかを指定します。(暗号化されたファイルを参照しているバッファでは、この変数の値に関わらず、ブックマークファイルにコンテキストは保存されません。)
ブックマーク操作に使える追加コマンドをいくつかご紹介します:
ブックマーク値のリストを含む filename という名前のファイルを読み込んでください。このコマンドや
bookmark-write
を使用することで、デフォルトのブックマークファイル以外にも、他のブックマーク値ファイルを扱うことができます。
現在のブックマーク値をすべてファイル filename に保存します。
bookmarkという名前のブックマークを削除してください。
ブックマーク bookmark が指すファイル名をバッファに挿入する。
ブックマーク bookmark が指すファイルの内容をバッファに挿入します。