如何一次重新加载所有vim窗口?


70

我在多个窗口中的vim中打开了一些文件。有没有像:e这样的命令,它将为我打开的所有文件重新加载缓冲区?我之所以需要这样做,是因为有时我会在vim中打开某些文件时,用另一个编辑器来更改它们。

Answers:


105

:windo命令对Windows起作用:bufdo,对缓冲区起作用。那是:

 :windo e

应该循环浏览所有可见窗口(即不是其他选项卡上的窗口,如果有的话)并执行:e命令。同样地:

 :bufdo e

将循环访问缓冲区列表中的所有缓冲区(即没有“隐藏”缓冲区)并执行相同的命令。

请注意,您可能在缓冲区列表中拥有当前未在任何窗口中显示的缓冲区。因此,是否使用:windo e还是:bufdo e取决于您想要什么。

相关帮助在这里:http : //vimdoc.sourceforge.net/htmldoc/windows.html#list-repeat


37
同样:tabdo e将刷新所有窗口中的所有选项卡
rewolf

8
嗯,我还没有尝试过,但是涵盖拆分窗口的情况不是必需的:tabdo exec 'windo e'吗?
赫伯特·西兹

5
你是对的-我的坏。 :tabdo e仅重新加载每个选项卡中的第一个窗口。谢谢:)解释了为什么我昨天遇到了麻烦
重犯了2012年

我注意到这消除了某些缓冲区上的语法突出显示。我必须去那些缓冲区并:e在每个缓冲区上手动输入。有没有办法保留语法突出显示?我正在使用Vim 8.0(2016 Sep 12)。
Jin


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.