首页 > 代码库 > Ag (the_silver_searcher) 安装使用
Ag (the_silver_searcher) 安装使用
if (I am a Programmer || I have a strong sense of time) I use ag
1. 安装命令行ag(代码中行首的“\”是多余的)
\#!/usr/bin/env bash \#Author Leslie Guan \#make sure you have the root permission \#Usage . install_ag.sh set -x TEMP_DIR=$(mktemp -d Leslie.Guan.XXXXXX) cd ${TEMP_DIR} wget https://github.com/ggreer/the_silver_searcher/archive/master.zip TAR_DIR=$(unzip *.zip) TAR_DIR=${TAR_DIR%%/*} TAR_DIR=${TAR_DIR##*:} cd ${TAR_DIR} apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev --force-yes ./build.sh && make install cd ../../ rm -rf ${TEMP_DIR} ag -V set +x
ubuntu13.10以后可以直接运行
apt-get install silversearcher-ag
2. 安装Vim插件(必须先安装ag命令行工具)(代码中行首的“\”是多余的)
\#!/usr/bin/env bash \#Author Leslie Guan \#make sure you have the root permission \#Usage . install_Ag4Vim.sh set -x TEMP_DIR=$(mktemp -d Leslie.Guan.XXXXXX) cd ${TEMP_DIR} wget https://github.com/rking/ag.vim/archive/master.zip TAR_DIR=$(unzip *.zip) TAR_DIR=${TAR_DIR%%/*} TAR_DIR=${TAR_DIR##*:} cd ${TAR_DIR} cp cp {plugin,autoload,doc} /usr/share/vim/vim73/ -rf cd ../../ rm -rf ${TEMP_DIR}
set +x
ag.vim_GitHub
3. 使用
命令行使用
ag HelloWorld ag HelloWorld path/to/search
Ag HelloWorld Ag HelloWorld path/to/search
e to open file and close the quickfix window o to open (same as enter) go to preview file (open but maintain focus on ag.vim results) t to open in new tab T to open in new tab silently h to open in horizontal split H to open in horizontal split silently v to open in vertical split gv to open in vertical split silently q to close the quickfix window
详细使用方法请查看帮助:
man ag
4. 对比
速度对比ag>ack>grep
在android全部源码中查找(测试环境20线程32GB内存):
time ag -i activity real 2m42.568s user 0m16.049s sys 1m29.358s
time ack -i activity real 5m17.780s user 1m35.830s sys 0m17.521s
time grep -Hrni activity .
What‘s so great about Ag?
It searches code about 3–5× faster than ack. It ignores file patterns from your .gitignore and .hgignore. If there are files in your source repo you don‘t want to search, just add their patterns to a .agignore file. *cough* extern *cough* The command name is 33% shorter than ack!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。