本文主要介绍在emacs中对一个目录中的很多文件进行字符串查找和替换操作的方法。参考了 XahLee 的教程后,在此记录做个备份。

操作步骤

进入dired模式 : 我的快捷键配置为 C-x d, 也可以使用 M-x <dired> .
标记需要查找的文件 : 在进入dired模式后,对需要操作的文件或目录进行操作。

  • m 对光标所在的文件或目录进行标记
  • u 对光标所在的文件或目录取消标记
  • U 取消所有标记

可以通过 M-x <dired-mark-files-regexp> 使用正则表达式完成批量文件增加标记。
批量查找 : 使用 M-x <dired-do-query-replace-regexp> 进行查找替换。在有 grep 的支持时(linux环境下或windows环境中增加了类似cygwin的程序),也可以使用 <dired-do-find-regexp-and-replace> 进行文本查找替换。
查找结果 : 在查找结果中使用如下快捷键完成操作

  • y 对当前记录执行替换操作
  • n 跳过当前记录
  • C-g 停止本次查找替换操作
  • ! 同意本文件中的查找替换操作
  • N 跳过本文件中的查找替换操作
  • Y 同意本次所有的查找替换操作

相关技巧

如果需要批量查找(不进行替换),可以在dired模式中 M-x <dired-do-search> 进行查找,对于查找结果使用 M-x tags-loop-continue 进行逐条浏览。