:vimgrep 看起来真的很有用.
以下是如何使用它:
:vim[grep][!] /{pattern}/[g][j] {file} ...
Run Code Online (Sandbox Code Playgroud)
:help说你可以用glob {file}来命名*.c当前目录.我可能已经用一个足够复杂的文件列表启动了Vim,我不想手动输入它{file},除了Vim已经知道这些文件是什么.
我想做的是vimgrep任何:
:args:files:buffers我将使用哪些变量来代替命令中的{file}任何列表vimgrep?
Luc*_*tte 11
你不能把这些命令中的结果捕获到register(:h :redir)中,然后将其插回到:vimgrepcall(带a :exe)中.
就像是:
:exe "vimgrep/pattern/ " . lh#askvim#Exe(':args')
Run Code Online (Sandbox Code Playgroud)
笔记:
:redir; 真的很复杂:args添加方括号)join(argv(), ' ')的:args情况下,.
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(),' ')
Run Code Online (Sandbox Code Playgroud)
要 [vim]grep 参数列表中的文件列表,您可以使用##(参见 参考资料:help cmdline-special)。
:vimgrep /re/ ##
Run Code Online (Sandbox Code Playgroud)
我不知道缓冲区列表有类似的简写,但您也许可以执行以下操作:
:argdelete ##
:bufdo argadd %
Run Code Online (Sandbox Code Playgroud)
...然后使用##. 或者使用:n打开新文件(将添加到arg列表中)而不是:e.
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |