:
vimgrep看起来真的很有用.
以下是如何使用它:
:vim[grep][!] /{pattern}/[g][j] {file} ...
帮助说你本来可以通过glob {file}命名,例如* .c作为当前目录.我可能已经启动了一个文件列表的文件,这个文件很复杂,我不想手动输入{file},除了Vim已经知道这些文件是什么.
我想做的是vimgrep的任何一个:
>:args
>:文件
>:buffers
我将使用什么变量替代{file}命名vimgrep命令中的任何一个列表?
你不能将这些命令的结果记录到一个寄存器(:h:redir)中,并将其插入到:vimgrep调用(使用:exe).
原文链接:https://www.f2er.com/bash/383842.html就像是:
:exe "vimgrep/pattern/ " . lh#askvim#Exe(':args')
笔记:
> lh#askvim#Exe只是一个包装:redir;没什么真的很复杂
>这些结果中的一些可能需要进行一些处理(参见:args添加方括号)
>有时候有一个函数返回你正在寻找的内容,请参阅:args(argv(),”)in:args case
关于:缓冲区,可能是这样的:
.
function BuffersList() let all = range(0,bufnr('$')) let res = [] for b in all if buflisted(b) call add(res,bufname(b)) endif endfor return res endfunction :exe 'vimgrep/pattern/ '.join(BuffersList(),' ')