我是vim的新手。我在网上看到vim中最好的模糊查找器之一是fzf。我已经开始使用它了。但每当我写命令时:Ag我得到ag is not found
。我不知道它意味着什么,我不知道如何解决它。
答案 0 :(得分:4)
如果您使用的话,则需要安装ag:
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
答案 1 :(得分:4)
$echo $FZF_DEFAULT_COMMAND
ag -l --path-to-ignore ~/.ignore --nocolor --hidden -g ""
无论使用何种FZF命令,您都可以在shell中收集符合条件的文件名。
在使用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)
答案 2 :(得分: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 <C-g> :Ag