加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:32:14 所属栏目:安全 来源:网络整理
导读:: vimgrep看起来真的很有用. 以下是如何使用它: :vim[grep][!] /{pattern}/[g][j] {file} ... 帮助说你本来可以通过glob {file}命名,例如* .c作为当前目录.我可能已经启动了一个文件列表的文件,这个文件很复杂,我不想手动输入{file},除了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(),' ')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读