有什么方法能够记住一行位置,并且在编辑过程中随时更新位置?

比如标记了第100行(放到变量 my-line 中),如果在100行前面有删除/增加几行的话,就更新这个my-line 变量加减几行?

哈哈,我之前也有类似的需求,如果开启了自动保存,可以用文件保存前后的 diff 来实现。

很基本的功能。

https://www.gnu.org/software/emacs/manual/html_node/elisp/Markers.html

1 个赞

解析diff内容里面的±计算个数吗

这不就是最基本的 mark 吗? 要是这功能都不晓得,着实该打屁股.

没在代码中用过,所以不熟悉,看了下文档,用marker应该就可以。

用marker貌似有个问题,buffer关闭后,marker也变成nil了。

打算保存到sqlite里面,就是文件关闭时候,还得写个hook函数,更新一下db。

Bookmark https://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html

https://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html