vim 可以警告 tabpagemax 溢出吗?

vim 可以警告 tabpagemax 溢出吗?

如果我使用 glob 模式在 vim 选项卡中打开文件集合,如果匹配该模式的文件数量超过 的值,我会收到警告tabpagemax。例如,如果以下情况,

$ vi -p `find . -type f -name "*.tex"`

匹配的文件数量多于tabpagemax,仅tabpagemax打开选项卡式文档。在这种情况下我想要一个警告或错误。能做到吗?

答案1

我没有找到任何方法vim可以在超出时发出警告tabpagemax,因此下一个最好的事情是在运行之前进行检查vim

潜在的解决方案

在这里,我们首先运行查找,将结果存储在变量 中$tfiles。然后,仅vim -p当我们找到的文件数小于或等于该值 20时才调用$guard

$ guard=20
$ tfiles=$(find . -type f -name "*.tex")
$ [ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"

这可以转换为 oneliner,如下所示:

$ guard=20; \
tfiles=$(find . -type f -name "*.tex"); \
[ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"

例子

当我们返回超过 3 个文件时,我们将获得这种类型的体验:

$ guard=3; \
  tfiles=$(find . -type f -name "*.txt"); \
  [ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"
too many

如果我们的文件少于 3 个,它们将在单独的选项卡中打开vim

相关内容