org
1
最近做了个小项目rtn ,欢迎大家尝试。是个关于注释的。项目灵感来自 rich-text。
这个项目有些特别有意思的用法,比如这个注释可以跟随你标记的单词移动,同时也可以做这个标记位的副本,把这个副本放入你自己的笔记里追踪这个注释。
跟随效果如下:
另外,可以在List中查看你所有的标记点。
同时我还升级了大佬的项目rich-text,现在可以自定义/缩放字体。现在可以支持一些比较好玩的效果,比如下面的效果:
再次打开的时候还是如此。
但是我这俩项目都是在emacs version 31下开发的,可能对其他版本的兼容性不是很好。而且这俩项目都是基于ov渲染,所以玩具属性比较大,仅是我个人做来满足我使用的。
补充个图:
6 个赞
Kinney
2
还可以更好玩哈哈。我最近实现了一个通用的“文本属性层叠”的功能,可以给文本设置多层的样式,然后通过命令在不同层之间切换,实现动态变化的效果。
org
4
我再补充两个所谓的副本跳转功能的图,同文件和不同文件中实现的跳转。这种注释最大的好处就是不破坏原有的笔记系统,只增加一个可以追踪的图标,但还是要提醒,大开大合删改会导致这个图标脱离原来的标记点。


org
5
用同样的逻辑再补一个类似的工具trans-overlay,这个项目受emacs-immersive-translate 和 dictionary-overlay的启发。单词翻译可以跟随单词移动。整行的翻译可以放在下一行,同样跟随移动。
记录的单词支持选中导出。
这个项目可以作为翻译工具,单词本,甚至是注释工具,因为可以手动添加或者修改翻译。
效果可以看下面:
org
6
对rtn项目,支持了rtn-move-annotation和rtn-paste-moved-annotation,可以把带链接的标记放到其他位置。即增加了挪动的功能。
支持了rtn-copy-reference-with-target和rtn-paste-reference-with-target,可以从链接那里直接获得指向原标记位,即从链接这里再克隆同样的链接。
org
10
rtn的功能实际是添加一个可动态跟踪的图标,原理大概和rich-text类似, rich-text的样式一直会跟随,不会因为你更改位置,甚至变动而变化。rtn的功能就在此基础上发展,它不从样式出发,而是改为加一个显眼的图标。
rtn-add-edit 就是添加默认图标,rtn-add-edit-with-icon就是添加各种各样的图标。
所谓的返回源头就是我又做了一个指向这个添加图标的图标,它里面的位置信息和被指定图标位置信息同步,那么你就可以把这个link放到其他任何位置,比如你所记录的笔记里,它就实现了副本的功能。
ov库来实现位置的记录和移动,都不是我考虑的。至于如果你想问记录信息的话,就是rtn-add-edit不止是添加一个图标,而是添加图标附带信息。执行rtn-add-edit会分割一个窗口记录信息,然后C-c C-c 保存后,会在你标定的位置生成一个信息。
实际上我开发的这三个工具都能定位,但是fork的rich-text不附带文本信息,而只是着重更改样式和叠加这些效果;rtn则是着重注释的功能,在图标上附加信息,可以和任何笔记联动使用;而trans-overlay则是不需要自己附加信息,把翻译内容放在附加信息上,同时把信息放在屏幕上。
org
11
多补充两句,我开发这个后发现,emacs的bookmark算是最另类的一种,它和我这个能力居然是类似的,它同样可以跟随标记位置移动而移动。不像vim/neovim 或者vscode ,是标记行。但是emacs的书签没有可视化,你如果真的改了标记位置的名字,这个bookmark会丢失,但是你无所察觉。所以我这个的功能也可以替代bookmark。
补充:neovim 其实也有类似的插件 GitHub - jameswolensky/marker-groups.nvim: Create persistent code notes without modifying code 。同样可以标记位置,添加笔记。