当isearch-forward作为命令运行时,我输入的上下文将在当前缓冲区中高亮显示,但运行query-replace不会高亮显示,我如何才能使其高亮显示呢?
发布于 2015-06-12 22:06:18
使用isearch-query-replace。它会高亮显示要替换的字符串。
发布于 2015-06-12 23:12:46
query-replace没有高亮显示所有匹配的匹配项。是那么回事吗?It 应该突出显示它们。如果没有,那么尝试在没有初始化文件的情况下启动Emacs:emacs -Q。如果这不缺少突出显示,那么递归地将初始化文件一分为二,以找到culprit.isearch-query-replace。这不会改变高亮显示(它应该已经打开了),但它所做的是让你在搜索时开始查询替换,使用最后一个搜索字符串作为query-replace.要按需替换任何给定的搜索结果,只需点击C-M-RET.即可带有前缀arg的C-M-RET将提示您输入替换文本(默认情况下,替换为无文本,这意味着删除命中)。因此,您可以在同一Isearch调用中随时更改替换文本。
替换搜索命中后,C-M-RET将移动到下一个搜索。因此,如果您想替换多个连续的搜索命中,则可以重复使用它。或者使用C-s跳过替换当前点击并移动到下一个点击。
按需Isearch替换也适用于正则表达式搜索,就像查询替换一样,替换文本既可以按原样直接插入,也可以像query-replace-regexp中那样解释。在后一种情况下,您可以使用\&、\=\N、\#、\,和\?。在Isearch过程中,您可以随时使用C-M-`来切换替换文本是按字面意思使用还是按特殊的正则表达式替换结构解释。
发布于 2016-12-24 11:20:21
以下包提供实时高亮显示和替换预览,用于查询替换,以及其他功能:
我目前使用的是visual-regexp-steroids.el。
这三个包都可以从MELPA安装。
https://stackoverflow.com/questions/30804894
复制相似问题