Ack是一个给程序员用的grep, 使用perl regular expressions, 而不是POSIX/GNU subset.
why ack?
- 使用perl regular expressions, 忘掉grep那套不人性的pattern吧
- 速度快, 默认只搜索程序代码文件
- 自动忽略.svn, .git, CVS这类目录, 默认递归搜索子目录
- 支持搜索指定文件类型
install
integrate into vim
- install ack.vim
- set grepprg=ack in vimrc
custom ack
Ack默认包含很多filetype => extensions的设置,但新出现的语言不一定支持。好在ack提供--type-add
,
TYPE=.EXTENSION[,.EXT2[,...]]--type-set TYPE=.EXTENSION[,.EXT2[,...]]
来扩展。经常用的可以加到~/.ackrc里, 我的.ackrc: