如果光标不在e中的r上,则用r替换regexp r
假设您在emacs缓冲区B中访问文件F,让r和R是一些替换的正则表达式。 现在我想用r定义的相应替换字符串R_i替换所有匹配r(在某些区域中)匹配的字符串r_i,以满足以下条件:
如果可以突出显示(例如不同的颜色或下划线...)替代品并根据r控制此突出显示,那将会很好。
我猜这样的功能已经存在,但我不知道它是如何被调用的。 我上面所描述的在某种程度上类似于编辑胶乳文件的预览模式。
看起来你只是想让一些字符串以不同的方式显示,而不是实际的替换。 我认为font-lock-mode
可以处理您的要求。 例如,通过在缓冲区中对此进行评估,可以在缓冲区中将所有出现的单词“pi”显示为希腊字母π:
(font-lock-add-keywords
nil `(("<pi>" (0 `(face default display "π")))))
(push 'display font-lock-extra-managed-props)
Ch v字体锁定关键字将提供更多细节。
我不知道任何用户级别的功能。 有hi-lock-mode
可让您突出显示一些文字,但不会显示替代文字。
预览模式使用的程序员级别功能以及导致从缓冲区中的内容显示不同文本的其他程序包称为覆盖。 如果你想对它进行编码,看起来应该是这样的:对于每一次出现的r,在这个r上重叠一个原始文本r_1作为help-echo
属性,r_2作为display
属性,一个modification-hooks
对任何变化作出反应的属性,以及可能的face
或category
属性。