请教有没有方法不改变buffer内容,在指定位置插入overlay的内容?

如题。overlay可以在两个点之间添加property,例如我发现flyspell就是这样干的。

但我现在有一个不一样的需求,就是有没有方法可以添加overlay的字符,icon,甚至图片?例如在一个单词的右下角添加一个小的数字标识或者icon,当点击该icon可以做一些动作。

如果是普通的插入方法。就是在指定的位置后面插入一个icon,但是插入后,保存文件的时候会把icon也保存进去了。我应该怎样做才能不把这个icon保存在文件,而又能显示在buffer里面?

overlay 是不会改变文件的,而且插图片完全没问题,具体语法可以网上查查,至于点击 icon 触发操作怎么实现我就不太清楚了。

1 个赞

用buffer的 point 的display 属性 可以查elisp手册

1 个赞

可以利用overlay的display属性,在运行时添加内容但不改变buffer内容,可以参考Snails的代码。

2 个赞