在 emacs 中替换鼠标选定区域

replacing on mouse selected area in emacs

这在 nedit 或 komodo 中很容易完成,但在 emacs 中找不到如何完成。
我使用鼠标突出显示我的代码区域。然后我只想在突出显示的区域进行替换或正则表达式替换。
有什么想法吗? 非常欢迎对启用此功能的 elisp 代码的引用。
谢谢。

使用命令query-replace(默认绑定到M-%),或者M-x query-replace。如果某个区域被突出显示,它只会在该区域内进行替换。

如果您想使用正则表达式,请在突出显示区域的情况下执行 M-x replace-regexp,您将获得相同的行为。

但是,请记住,当您在终端中使用无窗口 Emacs 时,鼠标选择将不起作用。您仍然可以使用键盘命令 mark/highlight 一个区域,然后替换将仅应用于该区域,但是如果您使用鼠标突出显示一个区域,虽然它会在视觉上突出显示,但 Emacs 不会 将其视为 marked/highlighted 区域。据我所知,在没有窗口的 Emacs 中没有办法解决这个问题。