3

当我搜索时:Rg <string>,它会在 FZF 缓冲区中打开结果。通常文件名没有完全显示在其中。曾经逃脱的结果也消失了。如果需要再次检查相同的单词,我必须进行研究。

:vim /pattern/g **/*在 quickfix 中打开结果。有没有办法在快速修复窗口中打开 Rg 结果?如何在 Rg 缓冲区中显示完整的文件名?

4

2 回答 2

1

:help :grep你可以告诉 Vim使用什么外部命令:help 'grepprg'

于 2020-10-27T11:08:12.000 回答
0

:Rg在弹出窗口中打开了我的结果,这使我可以使用<Ctrl>jand循环浏览结果<Ctrl>k

这是一个单独的选择,因此如果您想将结果保存到快速修复列表中,首先<Tab>您会注意到名称旁边会出现一个红色指示器。一旦你按下回车,所有带有指示器的东西都将被放置在快速修复列表中。

在此处输入图像描述

在此处输入图像描述

我还想提一下我对 Rg 的功能

" Ripgrep advanced
function! RipgrepFzf(query, fullscreen)
  let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true'
  let initial_command = printf(command_fmt, shellescape(a:query))
  let reload_command = printf(command_fmt, '{q}')
  let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
  call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen)
endfunction

command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)

而且我还想为快速修复列表添加一些快捷方式,以便您可以轻松地循环浏览它们:

map <leader>cc :botright cope<cr>
map <leader>co ggVGy:tabnew<cr>:set syntax=qf<cr>pgg
" Next item on list
map <leader>n :cn<cr>
" Previous item on list
map <leader>p :cp<cr>
于 2021-07-24T13:48:35.730 回答