使用行号进行动态全局替换,emacs

use*_*062 4 emacs

我正在尝试对一些 Prolog 代码进行一些调试,并且对一个方法进行了多次调用。

是否可以在 emacs 中进行全局替换,以便我可以创建一个写入语句来替换程序中的当前行?

本质上,假设一个方法调用 X 和一个 write 语句 write(some string),我可以替换所有的实例吗

X,

X,写入(行号)

LINE-NUMBER 是通过某些 emacs 调用获得的?

如果我不清楚,请告诉我,并提前致谢。

小智 5

此页面 有一个类似的示例。

从中,我尝试了以下命令

M-x replace-regexp
Replace regexp: \(word_to_replace\)
Replace regexp with: \1, write(\,(line-number-at-pos)
Run Code Online (Sandbox Code Playgroud)

replace-regexp可能会很严厉,因此您必须小心用于该模式的正则表达式。 M-x query-replace-regexp如果匹配项不是太多,也可能很有用。