Emacs 中的书签功能
Emacs 的书签功能在记录可供跳转的位置方面类似寄存器功能。不同的是,每个标记的书签具有一个长名字(TODO:寄存器的名字短?),在不同会话间自动保存。书签的典型应用场景是记录我们在多个文件中的阅读进度。
C-x r m RET
在当前文件光标所在处设置书签
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
保存当前所有的书签到默认的书签文件中
使用 C-x r m
记录当前文件中的位置时会使用当前文件名作为默认书签名称。为每个书签命名的动作可以让我们快速地使用 C-x r b
命令来跳转到文件加入到书签时所阅读的位置。
命令 C-x r M
( bookmark-set-no-overwrite
)的行为类似 C-x r m
命令,但它将会在当前设置的书签已存在时发出错误信息,而不是覆盖掉它。
使用 C-x r l
命令来在一个独立的缓冲区列出当前所有的书签,我们可以在这个缓冲区中操作这些列出来的书签。在该缓冲区中键入 C-h m
来获取更多的书签编辑命令。
当退出 Emacs 时且书签有所变化时,Emacs 会自动保存这些变化。我们也可以在任何时候使用 M-x bookmark-save
命令来保存书签变化。默认情况下所有书签都保存在 ~/.emacs.d/bookmarks
文件中(出于兼容旧版本的 Emacs 考虑,如果 ~/.emacs.bmk
文件存在,那么书签将保存到该文件中)。