vim - 在 vim 中,如何将缓冲区列表中的文件(匹配模式)添加到参数列表中?
问题描述
假设我打开了没有参数的 vim,然后在 vim 中打开了 10 个 .txt 文件和 10 个 .py 文件。另外,假设文件分散在我的文件系统中。缓冲区列表包含所有 20 个文件。
现在我想将 10 个 .py 文件添加到参数列表中。我想做类似的事情:argadd *.py
,但这只是创建一个名为'*.py'的新文件并将其添加到参数列表中。
我从帮助中看到 argd[elete] 可以使用模式,所以我可以删除所有带有 .py 的文件:argd *.py
。有没有办法做类似的事情
:arga[dd]
?
:[count]arga[dd] {name} ..
Add the {name}s to the argument list.
:argd[elete] {pattern} ..
Delete files from the argument list that match the
{pattern}s.
肯定有比导航到每个 .py 文件并运行更好的方法
:argadd
吗?
解决方案
您可以使用一个简单的命令根据一些判别式遍历所有缓冲区并将它们添加到参数列表中:
:bufdo if &ft == 'python' | argadd | endif
或者,如果您真的不喜欢打字:
:bufdo if&ft=='python'|arga|en
见:help :bufdo
。
推荐阅读
- javascript - 具有 div 样式更改的 GTM 元素可见性触发器
- python - 是否有一个 Numpy 函数可以将一个元素转换为与其他元素不同的类型?
- python - 用于获取 Linux 中 CPU 使用率最高的应用程序列表的 Python 代码
- html - 如何在 flex 容器中扩大我的输入元素?
- python - 匹配对角线元素:列表转换为井字游戏的方阵
- python - 删除之前的所有内容:
- javascript - 升级到 Webpack 5 后无法访问 copy-webpack-plugin 中的清单
- javascript - 如何满足 1 个条件以显示所有数据
- flutter - Flutter 想要将上下文传递给 Widget 类型
- python - 如何将变量传递给 python 烧瓶应用程序?