我想使用 Elisp 为 Emacs 实现动态文本替换(仅替换显示,不替换实际存储的文件)。
例如,在 LaTeX 文档中,我想键入\alpha
,然后让 Emacs 将其显示为α
,这样更易于阅读。但在结果.tex
文件中,我仍然想要\alpha
, 而不是α
被保存。(备注:我可以自己使用XeTeX或LuaTeX直接支持UTF-8。但出于合作和期刊要求,我不希望将UTF-8字符直接保存在.tex
文件中。或者我可以使用预览在 AUCTeX 中。但这在我编辑公式时无济于事)
一个现有的例子是在 org-mode 中,当我们输入 时[[link][name]]
,在输入 last 之后]
,显示的文本只被名称替换,带有超链接。另一方面,当保存这个文件时,保存的内容是原始的[[link][name]]
,与显示的不同。
任何想法如何实施?
PS:替换Emacs 手册的文本部分的显示规范关闭。但是,我需要指定起点和终点,而不是替换所需的字符串。这意味着我需要在每个用户输入后进行搜索以确定起点和终点。由于算法的性能和复杂性,这看起来不切实际。