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