使用emacs在目录中递归搜索字符串

对文件中的字符串搜索是开发中经常遇到的情景,下面就对常见的搜索字符串的方式进行了总结。

对当前buffer进行搜索(单个文件)
C-s 向后搜索
C-r 向后搜索
M-s o 使用occur对当前buffer中的指定关键字进行统计
在安装了helm以后可以使用 helm-occur 完成当前buffer的搜索

对目录中的指定文件进行搜索(一个目录下的多个文件)
C-x d 进入dired模式,在dired模式中使用 M-x <dired-do-find-regexp> (快捷键 A )对标记的文件进行搜索。

对目录中的所有文件进行递归搜索(一个目录下的所有文件和所有子目录中的文件)
M-x <rgrep> 能够对一个目录下所有的文件进行正则表达式匹配

注意事项
在windows平台上使用grep和find指令时,需要借助仿linux环境中的程序完成,如cygwin中的程序。
需要将程序的路径添加到系统环境变量path中,并且为了覆盖windows系统自带的find命令,需要将该路径放在系统find路径之前。
tips: 对于安装了 git bash 的同学,直接将其中的 mingw64\bin 的绝对路径加入系统path中即可。

Comments

Comments powered by Disqus