gpt4 book ai didi

vim - VIM 中的 grep 在将结果显示在 vim 中之前打开带有结果的终端

转载 作者:行者123 更新时间:2023-12-04 17:29:03 25 4
gpt4 key购买 nike

我在终端中运行 vim,每当我使用 grep 搜索某些东西时,比如

:grep search_for 文件名

它关闭 vim,在终端中显示结果,并显示“按 Enter 继续”消息,只有在我按 enter 后,它才会在 vim 中显示结果。如何防止这个终端打开并直接在vim中显示结果?

最佳答案

One method将执行以下操作:

function! Grep(...)
return system(join([&grepprg] + [a:1] + [expandcmd(join(a:000[1:-1], ' '))], ' '))
endfunction

command! -nargs=+ -complete=file_in_path -bar Grep cgetexpr Grep(<f-args>)
command! -nargs=+ -complete=file_in_path -bar LGrep lgetexpr Grep(<f-args>)

cnoreabbrev <expr> grep (getcmdtype() ==# ':' && getcmdline() ==# 'grep') ? 'Grep' : 'grep'
cnoreabbrev <expr> lgrep (getcmdtype() ==# ':' && getcmdline() ==# 'lgrep') ? 'LGrep' : 'lgrep'

augroup quickfix
autocmd!
autocmd QuickFixCmdPost cgetexpr cwindow
autocmd QuickFixCmdPost lgetexpr lwindow
augroup END

这将让您键入 :grep foo 而无需“按 Enter”提示。我建议您阅读 article/gist

关于vim - VIM 中的 grep 在将结果显示在 vim 中之前打开带有结果的终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61361423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com