Sam*_*abu 11 vim vim-quickfix ripgrep
当我搜索时:Rg <string>
,它正在 FZF 缓冲区中打开结果。文件名通常不会完全显示在其中。而且一旦逃脱,结果就消失了。如果需要再次检查同一个单词,我必须进行研究。
但:vim /pattern/g **/*
在快速修复中打开结果。有没有办法在quickfix窗口中打开Rg结果?如何显示Rg缓冲区中的完整文件名?
Riz*_*han 11
我在弹出窗口中打开结果,这允许我使用和:Rg
循环浏览结果。<Ctrl>j
<Ctrl>k
不过,这是一个单独的选择,因此如果您想将结果保存到快速修复列表中,请先开始<Tab>
,您会注意到名称旁边出现一个红色指示器。一旦您按下 Enter 键,带有该指示器的所有内容都将被放置在快速修复列表中。
我还想提一下我的 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)
Run Code Online (Sandbox Code Playgroud)
我还想为快速修复列表添加一些快捷方式,以便您可以轻松地循环浏览它们:
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>
Run Code Online (Sandbox Code Playgroud)