最近写了个位置保存跳转的功能

代码太烂就不往上贴了,放个链接 https://github.com/zerolee/.emacs.d/blob/master/Extensions/lzl-lib.el

把这个文件放在 load-path 下,然后在配置文件里加上下面一句就行了

(autoload 'lzl-push-mark-to-ring "lzl-lib")

然后根据自己的需要,可以绑定在一些快捷键上比如:

(global-set-key (kbd "s-.") 'lzl-push-mark-to-ring)
(global-set-key (kbd "s-,") 'lzl-get-mark-from-ring)
(global-set-key (kbd "s-?") 'lzl-show-all-mark-in-ring)

使用:按 s-. 进行标记位置(在同一个位置再次按 s-. 会移除对相应位置的标记) markpoint

按 s-, 在不同位置之间进行跳转,可以通过在前面加一个 - 返回上一个位置(如果有需求的话可以通过给 lzl-get-mark-from-ring 函数加一个参数 “-” 让其往后跳,然后绑定在一个新的快捷键上) getpoint

按 s-? 可以查看保存的位置(以冒号分隔,依次是被保存位置的 buffer 名,保存位置的行号,保存位置当前行以及下一行的内容,这个功能需要安装 ivy),按回车可以进行跳转 showpoint

在同一个位置再次按 s-. 可以移除保存的位置,你可以通过 s-, 或者 s-? 移动到相应的位置然后按 s-. 进行删除。如果位置所在的 buffer 不存在了,相应的位置也会自动移除

1 个赞

这个有点像bookmark

1 个赞