使用emacs查找替换指定目录所有文件中字符串
本文主要介绍在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
进行逐条浏览。