Emacs Evil 搜索替换功能

Gun*_*son 5 emacs find-and-replace

Emacs 有一个名为Evil的 Vim 模拟器模式。此模式具有搜索替换功能,其作用与突出显示区域并在其上运行 sed 基本相同。这个函数的绝妙之处在于,它在您执行命令之前实时显示您所做更改的预览,这对于构建使用正则表达式的搜索替换命令非常有用。

我很虚弱,不想重新训练我的肌肉记忆来使用 Vim 键。有没有办法在普通 Emacs 中使用预览获得这种类似 sed 的搜索和替换功能?

Tru*_*ert 1

Emacsreplace-regexp允许您使用正则表达式进行搜索和替换。我不知道有任何工具可以交互式地预览替换,但是有几种工具可以让您交互式地构建用于搜索和替换的正则表达式:

Emacs 附带re-builder. M-x re-builder将打开一个小缓冲区,可以在其中构建您的正则表达式。它将突出显示当前缓冲区中的所有匹配项,并且每个组都具有独特的颜色。是关于它的一个很好的总结。

然后是re-builder+,它允许您使用您构建的正则表达式调用替换命令。但替换不是交互式的。

我知道的最后一个工具是regex-tool,它为您提供了包含文本、正则表达式和匹配组的三个缓冲区视图。

这些工具并没有提供您描述的 Evil 所做的一切,但它们涵盖了我认为用正则表达式搜索和替换的最困难的部分。

如果您只想在缓冲区的某个区域上运行它,您可以使用C-x n n缩小到选定区域(标记和点之间)或C-x n p缩小到当前页面。然后C-x n w再次扩大到整个缓冲区。