如何使用FZF和Ag在vim中搜索特定文件类型/扩展名中的文本?
我最近开始使用vim,我已经玩了一段时间了 我使用如何使用FZF和Ag在vim中搜索特定文件类型/扩展名中的文本?,vim,ag,fzf,vim-fzf,Vim,Ag,Fzf,Vim Fzf,我最近开始使用vim,我已经玩了一段时间了 我使用FZF和Ag来搜索文件并在文件中搜索。但我不能搜索特定的文件类型,例如 我只想在.js文件中搜索“getUserInfo” 这是我的配置 bashrc [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh export FZF_DEFAULT_COMMAND='ag -g ""' export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" init.vim Plug
FZF
和Ag
来搜索文件并在文件中搜索。但我不能搜索特定的文件类型,例如
我只想在.js
文件中搜索“getUserInfo”
这是我的配置
bashrc
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export FZF_DEFAULT_COMMAND='ag -g ""'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
init.vim
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
我只需在vim中使用:Ag
来搜索整个目录您可以使用--js
来限制对JavaScript文件的搜索:
$ ag getUserInfo --js
请参阅
$man ag
要使用FZF的文件类型搜索,您需要在.vimrc中添加自定义配置。例如,如果您只想搜索fo javascript文件,请添加以下内容:
autocmd! VimEnter * command! -nargs=* -complete=file AgJS :call fzf#vim#ag_raw('--js '. <q-args> .' ~/myRepo/src/')
autocmd!VIMCENTER*命令-nargs=*-complete=file AgJS:call fzf#vim#ag#u raw('-js'..'~/myRepo/src/'))
请注意目录的规范(~/myRepo/src/)。要调用这种搜索,可以使用:AgJS
命令。该命令又可以绑定到其他映射
插件文档中讨论了自定义:
您的特定功能请求已在一个问题中讨论:其他两个答案对我都不适用,在深入研究Gregory链接的相关问题后,我找到了一个适合我的解决方案:
let s:ag_options = ' --python '
command! -bang -nargs=* Agpy call fzf#vim#ag(<qargs>,s:ag_options,<bang>0)
在上面的示例中,您可以确定用什么替换--python以捕获正确的文件类型
最后,您只需在vim中键入:Agpy或任何您命名的命令即可执行
这也会在您当前的工作目录中执行,这比另一个示例中的固定目录更好。我没有使用特定的插件或任何其他插件来集成
ag
,因此我无法回答这个问题。试试看。
ag --list-file-types