Chinaunix首页 | 论坛 | 博客
  • 博客访问: 618756
  • 博文数量: 172
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1252
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 22:26
文章分类

全部博文(172)

文章存档

2011年(6)

2010年(7)

2009年(159)

我的朋友

分类: LINUX

2009-09-03 13:09:36

当偶厌倦了各个tag搜索工具的时候,发现grep才是偶的最爱。每每M-x grep RET输入一堆东西,才可以搜索到自己心仪的东东,确实麻烦。下面介绍下,在emacs中,各种grep相关的设置。如何可以让一位C++程序员比较方便的使用。

  • 基础命令设置

首先进入 Customize Group Grep 分组中,

名称 数值 说明
Grep Window Height 14 可以调整grep结果窗口的大小
Grep Command grep -rinH -e ../* 设置grep的默认命令,使其默认从上一层目录开始递归搜索
Grep Find Command find ../* -iname "*.cpp" -type f -print0 | xargs -0 -e grep -nH -e 从上一层目录开始递归搜索,所有cpp文件的内容,常用于搜索代码中被引用的变量或者函数
  • 高级命令用法

上面的只是一些雕虫小技。其实更好用的grep命令有如下几个。

命令 使用简介 特色说明
rgrep M-x rgrep RET后,首先输入的是需要搜索的内容,回车后,提示目标文件的类型,此时可以输入各个别名,比如ch,搜索所有的C++源码文件,随后输入的是搜索开始的目录。 递归搜索目录中的内容,支持一些预定义的别名,比如ch表示所有的c++代码文件,hh表示所有的c++头文件等等。这个估计是写程序时,最好用的grep命令。
lgrep M-x lgrep RET后,提示内容与rgrep的都一样,唯一不同的是,lgrep只搜索当前指定目录中的内容,不会对子目录进行递归搜索。 lgrep中的l应该是表示本层目录的(local)。对于在很大的,有很多子目录的文件夹中,只想搜索限定目录中,限定文件类型的时候,这个命令很方便。
igrep M-x igrep后,会自动根据当前所在文件的扩展名作为文件过滤条件(也可以修改),随后,会弹出UI提示选择目录(貌似在win32上,没有什么作用),一路回车,就可以搜索了。 根据输入的文件扩展名,过滤被搜索的文件,根据输入的内容,在指定类型的文件中搜索,并给出结果。这个命令会弹出对话框,使用上,个人感觉非常的不爽。:( 如果哪位对这个命令有很好的最佳实践,一定要告诉kyle哦。
阅读(3238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~