不用零宽空格在 org-mode 中标记中文的办法

应用这个hack,标记前后也可以是字母(无需空格)了(见上,加入了 [:alpha:]

而应用这个hack,会尽可能非贪婪地匹配(见上,加入了 .*?[~=*/_+]),从而实现同一句话多个标记不混杂: image

但是,如果同时使用这两个hack,会出现一些特别的问题:

比如对于org-mode中文本:

www.baidu.com/ =sdf=

预期高亮行为是: image

但是同时应用两个hack后是: image

这是因为第一个 / 和后面的 = 匹配上了,而后面的 = 就无法匹配了。

以上还是较为简单的情形,如果复杂的话,一行同时有无序列表(+-*)、链接(很多 /),就比较复杂了,很大概率没有正确显示。

不过正如前辈所讲,渲染和导出机制不同:

以上问题只影响在Emacs里的高亮,导出是没问题的(我只做了少量测试)。

如果哪位前辈有更好的见解,欢迎指点!