运行vim时配置Vim / bash以在单独的选项卡中打开所有文件

时间:2014-11-18 07:45:48

标签: bash vim

当我运行vim *(没有其他参数)时,如何配置Vim / bash以在单独的选项卡中打开所有文件?

此外,我可以配置Vim来对给定的文件进行过滤,即我想存储Vim应该考虑的文件扩展名吗?例如,假设我有一个包含以下文件的目录:

program1.h
program1.cc
program1.o
program2.cpp

我希望Vim仅打开.h.cc.cpp个文件。

2 个答案:

答案 0 :(得分:2)

简单的答案:

vim -p *.h *.cc *.cpp

正如@Brian Tiffin所说,-p标志打开标签中的文件。其余的只是正常的令人兴奋的文件通配。

注意:-p默认最多可打开10个标签页。

就个人而言,我只是打开没有任何参数的vim,只需根据需要打开:e的文件。如果你确实需要一个文件列表,我会从命令行通过globs传递文件,或者使用:args来填充arglist。例如:args *.h *.cc *.cpp

......没有参数限制怎么办?

您基本上要求使用白名单或黑名单某些文件类型。这种行为既令人困惑又可能引起意外。相关的解决方案是使用'wildignore'

除了标签和缓冲区

您似乎正在做一个以标签为中心的工作流程。我知道这可能听起来很奇怪,但可能会使用较少的选项卡窗格和更多缓冲区。这里有一些很好的帖子:

如需更多帮助,请参阅

:h -p
:h :e
:h arglist
:h 'wildignore'

答案 1 :(得分:1)

首先,为什么不想为vim提供其他参数?

你可以这样做(在.vimrc中):

au BufAdd,BufNewFile * nested tab sball

对于第二部分,您可以这样做:

au BufAdd,BufNewFile *.o bdelete!

仍然为此我建议使用bash函数之类的功能,例如将参数列表解析为函数并拒绝您不想编辑的文件(掩码),并通过已过滤的列表为vim(因为上面的解决方案仍会打开*.o文件,这些文件可能很慢等等。)