【问题标题】:How to do massive search and replace in emacs? [duplicate]如何在 emacs 中进行海量搜索和替换? [复制]
【发布时间】:2010-10-30 22:54:32
【问题描述】:

可能重复:
Using Emacs to recursively find and replace in text files not already open

重复:using-emacs-to-recursively-find-and-replace-in-text-files-not-already-open

我需要对文件列表进行正则表达式搜索和替换。 有没有一个emacs命令(命令组合)? 或者你有更好的方法在 linux 上进行 c++ 重构?

【问题讨论】:

  • 查看使用 Emacs 递归查找和替换尚未打开的文本文件 (stackoverflow.com/questions/270930/…)。
  • 是否有理由需要在 emacs 中完成此操作,而不是在其他工具(例如 sed)中完成?
  • 因为在 emacs 中完成一切都会更好。

标签: c++ emacs refactoring


【解决方案1】:

您可以在diredibuffer 中标记文件并对其进行查询替换正则表达式。否则为什么不使用带有一些findsed 魔法的shell,唉:

for f in $(find . -name "*.cpp"); do
    mv $f $f.bak
    sed -e "s/old/new/g" $f.bak > $f
done

【讨论】:

  • 认真的吗?您可以对 dired 中的标记文件执行查询替换正则表达式吗?很高兴知道!
  • 是的,只需使用m 标记您要处理的文件,然后使用Q 运行query-replace-regexp。很酷:)
  • 您还可以使用 dired-get-marked-files 遍历 dired 缓冲区中的标记文件。我在这篇博文中展示了一个示例:justinsboringpage.blogspot.com/2009/04/…
【解决方案2】:

你看过XRefactory吗?

【讨论】:

  • 所以你已经调查过了,嗯?
猜你喜欢
  • 2017-01-05
  • 1970-01-01
  • 2011-10-16
  • 2020-08-09
  • 1970-01-01
  • 2010-10-29
  • 2015-02-15
  • 1970-01-01
  • 2010-10-22
相关资源
最近更新 更多