在Vim中保存“所有打开缓冲区列表”的变量?

前端之家收集整理的这篇文章主要介绍了在Vim中保存“所有打开缓冲区列表”的变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
vimgrep看起来真的很有用.

以下是如何使用它:

:vim[grep][!] /{pattern}/[g][j] {file} ...

帮助说你本来可以通过glob {file}命名,例如* .c作为当前目录.我可能已经启动了一个文件列表的文件,这个文件很复杂,我不想手动输入{file},除了Vim已经知道这些文件是什么.

我想做的是vimgrep的任何一个:

>:args
>:文件
>:buffers

我将使用什么变量替代{file}命名vimgrep命令中的任何一个列表?

你不能将这些命令的结果记录到一个寄存器(:h:redir)中,并将其插入到:vimgrep调用(使用:exe).

就像是:

: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(),' ')
原文链接:https://www.f2er.com/bash/383842.html

猜你在找的Bash相关文章