当我使用query-replace
替换“abc”替换“def”,然后再次调用query-replace
时,我得到一个看起来像这样的迷你缓冲区,所有都在同一张脸上:< / p>
Query replace (default abc -> def):
如果“abc”和“def”显示在不同的面上,则更容易阅读此行。如果搜索或替换字符串包含空格,括号或箭头,所有这些都将与它们周围的提示混合,这将更加明显。我希望默认情况下提供搜索和替换字符串的不同面。但是,我在文档中找不到任何内容,甚至允许用户单独自定义用于显示搜索和替换字符串的面。有人能为我提供一些我可以用来做这个的代码吗?
答案 0 :(得分:2)
使用库replace+.el - 说明here。
另请参阅Emacs bug #16136,这是一个相关的增强请求。问题是用户目前只能决定整个提示是否有面子。 (如果是这样的话,他们可以自定义那张脸。)所需要的是能够做到这一点,但也让那张脸可以退回到可能已经提供给提示字符串特定部分的任何面孔。
图书馆replace+.el在整个提示中关闭了面孔,并在不同的面孔中突出显示提示的重要部分(正是您要求的部分)(您当然可以自定义。如果增强请求{{3实现了,然后提示的其余部分可以保存在正常的提示面(minibuffer-prompt
)中。
有点难以相信Emacs的设计是如此短视,但事实确实如此。它是用C代码实现的,因此不太适合用户改进。我们希望能够解决问题。同时,您可以通过加载minibuffer-prompt
来获取您的请求,但不会在提示的其余部分使用replace.el
。