当我运行vim *
(没有其他参数)时,如何配置Vim / bash以在单独的选项卡中打开所有文件?
此外,我可以配置Vim来对给定的文件进行过滤,即我想存储Vim应该考虑的文件扩展名吗?例如,假设我有一个包含以下文件的目录:
program1.h
program1.cc
program1.o
program2.cpp
我希望Vim仅打开.h
,.cc
和.cpp
个文件。
答案 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
文件,这些文件可能很慢等等。)