Emacs的书签功能介绍

Emacs的书签功能介绍

emacs的书签用于记录你在文件中的阅读位置。它有点类似寄存器,跟寄存器一样,因为它也能记录位置位置。
但同寄存器有两点不一样:1. 它有比较长的名字; 2. 当emacs关闭的时候,它会自动持久化到
磁盘。

设置一个书签

当我们阅读一个很长的文档,没能一口气读完时。我们希望记住当前文档的最后阅读的位置,以便下次再用emacs
阅读的时候能快速地定位到。那么,我们设置一个书签,通过bookmark-set 对应快捷键为 C-x r m

列出保存的书签

bookmark-bmenu-list 对应快捷键为 C-x r l ,它将打开一个*Bookmark List*的buffer同时
列出所有保存的书签。

书签列表*Bookmark List*

在*Bookmark List*这个buffer里,有以下快捷键可以使用:

  • a 显示当前书签的标注信息;
  • A 在另一个buffer中显示所有书签的所有标注信息;
  • d 标记书签,以便用来删除 (x – 执行删除);
  • e 编辑当前书签的标注信息;
  • m 标记书签,以便用于进一步显示和其他操作 (v – 访问这个书签);
  • o 选中当前书签,并显示在另一个window中;
  • C-o 在另一个window中切换到当前这个书签;
  • r 重命名当前书签;
  • w 将当前书签的位置显示在minibuffer里。

跳转到一个书签

使用 bookmark-jump 函数,可以跳转到一个特定的书签,它绑定的快捷键为 C-x r b
如果你的emacs中安装了helm 这个插件,你也可以使用 helm-bookmarks 这个命令
来快速查找书签,并跳转到书签位置。

helm-bookmarks

通过helm-bookmarks命令来查找并跳转书签如下图:

bookmark查找与跳转

修改默认排序

书签查找和跳转的时候,默认的书签排序是按字母排序的。如果想将最近访问的书签放在最前面,
将下面代码添加到你的emacs配置文件中。

    (defadvice bookmark-jump (after bookmark-jump activate)
      (let ((latest (bookmark-get-bookmark bookmark)))
        (setq bookmark-alist (delq latest bookmark-alist))
        (add-to-list 'bookmark-alist latest)))

删除一个书签

删除一个书签对应的命令为 bookmark-delete

保存书签

最新版本emacs(老版本的书签保存在 ~/.emacs.bmk ),
在退出的时候会自动保存书签。如果想手动保存书签的话,可以采用
bookmark-save 这个函数命令。默认的情况,emacs会将书签保存在 bookmark-default-file
变量对应的文件中。在我的机器中,对应的文件如下:

    ELISP> bookmark-default-file
    "/Users/aborn/.emacs.d/.cache/bookmarks"
    ELISP>

其他设置

有一个变量 bookmark-save-flag 。如果这个变量的值为一个数值,它表示修改(或新增)
多少次书签后,emacs会自动保存书签到磁盘。当这个变量的值被设置为1时,每次对bookmark的改
动,emacs就会自动保存内容到磁盘相应位置(这样可以防止emacs突然crash时bookmark的丢失)。
如果这个值设置为nil,表示emacs不会主动保存bookmark,除非用户手动调用
M-x bookmark-save

bookmark+

bookmark+ 是对bookmark的一个扩展的包。它有更多的功能:

  1. 原始的bookmark只能对文件位置记录,bookmark+对孤立的buffer(没有关联文件的buffer)也能保存书签;
  2. 支持对书签进行打tag;
  3. 对文档的某个区域保存为书签,而不仅仅是某个位置;
  4. 记录了每个书签的访问次数,及最后一次的访问时间,可以基于它们排序;
  5. 多个书签可以有相同的名字;
  6. 可以对函数、变量等加书签。

更多功能请参考: https://www.emacswiki.org/emacs/BookmarkPlus#Bookmark%2b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容