zoukankan      html  css  js  c++  java
  • 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
    

    ag_GitHub

    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/vimcurrent/ -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
    

    在Ag查找出来的quickfix窗口中,你可以使用下列命令:

    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. Why ag

    速度对比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 .
    real	49m27.518s
    user	43m13.918s
    sys	0m38.178s
    

    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!
    
  • 相关阅读:
    【译】可扩展前端2  —  常见模式
    【译】可扩展前端1  —  架构基础
    【译】The Clean Architecture
    获取页面元素位置
    vue高价组件的使用
    gif动态图片转精灵图
    消除 transition 闪屏
    移动端 -- 如何去掉元素被触摸时产生的半透明灰色遮罩?
    解决手机移动端触屏版web页面长时间按住页面出现闪退的问题
    移动端滑动慢,卡顿
  • 原文地址:https://www.cnblogs.com/GMCisMarkdownCraftsman/p/3795315.html
Copyright © 2011-2022 走看看