【问题标题】:How to enable AG in vim + fzf如何在 vim + fzf 中启用 AG
【发布时间】:2018-08-09 16:26:40
【问题描述】:

我是 vim 的新手。我在网上读到,vim 中最好的模糊查找器之一是 fzf。我已经开始使用它了。但是每当我编写命令时:Ag 我都会得到ag is not found。我不知道这是什么意思,也不知道如何解决。

【问题讨论】:

    标签: vim ag fzf


    【解决方案1】:

    要在搜索过程中显示光标下文件的预览窗口,您可以在 .vimrc 或 init.vim 中添加以下内容

    command! -bang -nargs=* Ag
      \ call fzf#vim#grep(
      \   'ag --column --numbers --noheading --color --smart-case '.shellescape(<q-args>), 1,
      \   fzf#vim#with_preview(), <bang>0)
    

    然后使用:Ag mySearchTerm 在右侧预览结果。

    为方便起见,您也可以将ctrl-g 映射到它:

    map &lt;C-g&gt; :Ag

    【讨论】:

      【解决方案2】:
      1. 默认情况下,fzf 使用系统的“查找”命令。您可以通过将环境变量 $FZF_DEFAULT_COMMAND 更改为第三方实用程序来更改它。使用这些工具的好处是它们可以观察忽略文件。使用银色搜索器(即 ag),您的默认命令将如下所示:

        $echo $FZF_DEFAULT_COMMAND ag -l --path-to-ignore ~/.ignore --nocolor --hidden -g ""

        无论使用什么 FZF 命令,在 shell 中,您都会收集与您的条件匹配的文件名

      2. FZF+Vim 是 fzf 之外的一个额外插件,提供了一个 :Ag 命令以在 (g)vim 中使用。 :Ag 命令允许您搜索文件的内容,与其 :Files 命令相反,它只搜索文件名。

        使用 FZF+Vim 时可能需要一些 .vimrc 自定义。例如,我喜欢的调整是使用全屏搜索和预览窗口运行 :Ag 的选项(使用 :Ag! 而不是 :Ag):

        command! -bang -nargs=* Ag \ call fzf#vim#ag(<q-args>, \ <bang>0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('right:50%:hidden', '?'), \ <bang>0)

      【讨论】:

        【解决方案3】:

        你需要安装ag,以防你在mac上:

        brew install the_silver_searcher
        

        作为测试fzf 的另一个选项,您还可以使用 ctrl p 通过使用此映射调用:Files

        nnoremap <c-p> :Files<CR>
        

        你可以在调用:Files时使用ripgrep,为此你需要修改默认的FZF_DEFAULT_COMMAND

        export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
        

        您可以在这里找到更多信息:https://github.com/junegunn/fzf#usage

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-11-29
          • 1970-01-01
          • 2013-06-24
          • 1970-01-01
          • 1970-01-01
          • 2016-07-21
          • 2011-06-14
          相关资源
          最近更新 更多