动态全局替换带有行号,emacs

4
我正在调试一些Prolog代码,其中有多个对方法的调用。
在emacs中是否可以进行全局替换,以便我可以创建一个写语句来取代程序中当前行?
基本上,假设有一个方法调用X和一个写语句write(some string),我能否将所有实例的
X,
替换为
X, write(LINE-NUMBER)
其中LINE-NUMBER是通过某个emacs调用获得的?
如果我没有表述清楚,请告诉我,谢谢。
1个回答

5

这个页面有一个类似的例子。

我从中尝试了以下命令

M-x replace-regexp
Replace regexp: \(word_to_replace\)
Replace regexp with: \1, write(\,(line-number-at-pos)

replace-regexp 可能会过于粗暴,因此在使用正则表达式模式时必须小心。如果匹配项不太多,M-x query-replace-regexp 也可能有用。


1
即使有很多匹配项,query-replace-regexp 通常也可以胜任(! 将替换所有匹配项)。还要注意,现在运行 query-replace-regexp 的首选方式是从 C-s(或 C-u C-s)开始,然后逐步输入搜索关键字,最后按下 M-% - Stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接