在Vim中自动调整跨选项卡的调整大小拆分窗口

4

在我的 Vim 工作流中,我使用了很多选项卡,每个选项卡可能有几个拆分视图。最近我在 Preserving equal sized split view 中发现,在我的 vimrc 文件中加入以下这行代码,可以自动让我的拆分视图保持相同的大小。

autocmd VimResized * wincmd =

然而,如果我调整Vim所在窗口的大小,它似乎只会调整我当前正在使用的选项卡的大小。对于其他选项卡,拆分仍然是不均匀的。是否有一种方法可以在窗口大小改变时自动调整所有选项卡中的拆分大小?

1个回答

4
您可以使用:tabdo命令在所有已存在的选项卡中执行该序列。这已经完成了工作。
autocmd VimResized * tabdo wincmd =

不过有一个可能不太理想的副作用,那就是它会在最后一个选项卡上结束命令。你可以通过保存并在命令结束后恢复来解决这个问题。定义一个函数会更容易实现。

function! ResizeWindows()
    let savetab = tabpagenr()
    tabdo wincmd =
    execute 'tabnext' savetab
endfunction
autocmd VimResized * call ResizeWindows()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接