Emacs 如何最快速地编辑增量搜索突出显示的文本?

Emacs 如何最快速地编辑增量搜索突出显示的文本?,emacs,Emacs,鉴于这样的文本 你好,世界 我对“世界”进行增量搜索 C-s世界 这篇课文很精彩 你好,World 现在,我想键入新文本“全部”,而不是突出显示的文本,并获取: 大家好 我该怎么做?(注意,我不是在寻找“query replace”或类似的内容)。理想情况下,它必须是这样的: C-s世界BS All 好吧,没有正式的方式来做你想做的事。如果isearch query replace不属于您定义的query replace亲属,则最近的方法将是“C-s World M-%All” (isearch

鉴于这样的文本

你好,世界

我对“世界”进行增量搜索

C-s世界

这篇课文很精彩

你好,World

现在,我想键入新文本“全部”,而不是突出显示的文本,并获取:

大家好

我该怎么做?(注意,我不是在寻找“query replace”或类似的内容)。理想情况下,它必须是这样的:

C-s世界BS All


好吧,没有正式的方式来做你想做的事。如果
isearch query replace
不属于您定义的
query replace
亲属,则最近的方法将是“
C-s World M-%All

(isearch查询替换&可选分隔的REGEXP-FLAG)

使用要从上次搜索字符串中替换的字符串启动
查询替换

您不能使用backspace,因为修改查询需要该键

我的init中有这样一个:

(defun le::isearch-kill-result ()
  (interactive)
  (if (use-region-p)
      (call-interactively 'kill-region)
    (kill-region (point) isearch-other-end))
  (isearch-exit))
(define-key isearch-mode-map [(control w)] 'le::isearch-kill-result)
我的观点在搜索时没有任何用处,所以我不介意重写
C-w,你可能想选另一把钥匙。

这也让我感到困扰,所以这就是我最终想到的

快速安装 首先,你需要。 如果您使用的是Emacs24或更高版本(或者使用ELMA/package.el),那么您可以使用获得Isearch+

M-x package-install <RET> isearch+ <RET>
然后将光标放在末尾,
C-x C-e
在当前会话中进行此更改。 (这将使用
C-。
,您可以将其更改为所需的任何键。)

如何使用 工作原理 它选择突出显示的文本(用适当的Emacs说法,它设置活动区域),然后
C-w
删除该文本(将其放入删除环中)。如果需要使用
C-y
,现在可以稍后粘贴字符串
World

如果单词很长 isearch+中还有其他一些好东西。例如,如果“World”是一个较长的单词,如“Worcestershire”,并且您不想全部键入,则可以尝试以下方法:

C-s W C-( C-. C-w All

使用isearch+,
C-(
会将当前“搜索目标”中的其余单词拉入您的搜索中,因此在本例中,它会将
管弦乐队
添加到您当前的i-search中。

需要更多的投票,这让我发疯。似乎它应该是内置的。我的意思是,我们有M-x蝴蝶,但没有这个。。。
C-s World C-. C-w All
C-s W C-( C-. C-w All