首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在键入内容时使用查询替换,如isearch-forward

如何在键入内容时使用查询替换,如isearch-forward
EN

Stack Overflow用户
提问于 2015-06-12 21:57:51
回答 3查看 255关注 0票数 3

当isearch-forward作为命令运行时,我输入的上下文将在当前缓冲区中高亮显示,但运行query-replace不会高亮显示,我如何才能使其高亮显示呢?

EN

回答 3

Stack Overflow用户

发布于 2015-06-12 22:06:18

使用isearch-query-replace。它会高亮显示要替换的字符串。

票数 1
EN

Stack Overflow用户

发布于 2015-06-12 23:12:46

  1. 听起来像是说query-replace没有高亮显示所有匹配的匹配项。是那么回事吗?It 应该突出显示它们。如果没有,那么尝试在没有初始化文件的情况下启动Emacs:emacs -Q。如果这不缺少突出显示,那么递归地将初始化文件一分为二,以找到culprit.
  2. @Rocky提到的isearch-query-replace。这不会改变高亮显示(它应该已经打开了),但它所做的是让你在搜索时开始查询替换,使用最后一个搜索字符串作为query-replace.
  3. An要匹配的文本的模式查询替换,特别是当你想进行相对较少的替换而有很多匹配时,在搜索时使用。为此,您需要库。

要按需替换任何给定的搜索结果,只需点击C-M-RET.即可带有前缀arg的C-M-RET将提示您输入替换文本(默认情况下,替换为无文本,这意味着删除命中)。因此,您可以在同一Isearch调用中随时更改替换文本。

替换搜索命中后,C-M-RET将移动到下一个搜索。因此,如果您想替换多个连续的搜索命中,则可以重复使用它。或者使用C-s跳过替换当前点击并移动到下一个点击。

按需Isearch替换也适用于正则表达式搜索,就像查询替换一样,替换文本既可以按原样直接插入,也可以像query-replace-regexp中那样解释。在后一种情况下,您可以使用\&\=\N\#\,\?。在Isearch过程中,您可以随时使用C-M-`来切换替换文本是按字面意思使用还是按特殊的正则表达式替换结构解释。

票数 1
EN

Stack Overflow用户

发布于 2016-12-24 11:20:21

以下包提供实时高亮显示和替换预览,用于查询替换,以及其他功能:

我目前使用的是visual-regexp-steroids.el

这三个包都可以从MELPA安装。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30804894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档