432

如果我打开了 10 个选项卡,我必须分别使用 ":q" 关闭每个选项卡。

我怎样才能一次关闭它们?

4

8 回答 8

643

最短/最简单/最快的方法是:

:qa

保存所有选项卡中的工作并退出:

:wqa
于 2009-02-04T06:58:37.177 回答
222

我经常使用:tabo( :tabonly) 来关闭所有其他选项卡。

于 2009-02-04T07:18:51.193 回答
28

这可以使用以下命令完成(在正常或转义模式下):

:tabdo :q

“tabdo”显然对所有打开的选项卡执行命令。

于 2009-02-04T06:57:15.853 回答
19

添加到 fuentesjr 所说的内容:

:qa!

如果您不关心保存,将强制退出所有选项卡。

于 2009-02-04T07:02:58.633 回答
18

你可以使用这些 Vim Ex 命令中的任何一个来退出多个窗口和缓冲区

  1. :qa :qall

    退出 Vim,除非有一些缓冲区已被更改。(:bmod用于转到下一个修改的缓冲区)。当设置 'autowriteall' 时,所有更改的缓冲区都将被写入,例如:wqall.

  2. :conf qa :confirm qall

    退出 Vim。当某些缓冲区已更改时,会出现提示。见:confirm

  3. :qa! :qall!

    退出 Vim。对缓冲区的任何更改都将丢失。另请参阅:cquit,它的作用相同,但以非零值退出。

  4. :quita :quitall :quita! :quitall!

    与 相同:qall

  5. :wqa :wqall :xa :xall

    写入所有更改的缓冲区并退出 Vim。如果存在没有文件名的缓冲区,它们是只读的或由于其他原因不能写入,Vim 将不会退出。

  6. :conf wqa :confirm wqall :conf xa :confirm xall

    写入所有更改的缓冲区并退出 Vim。当某些缓冲区是只读的或由于其他原因无法写入时,会出现提示。见:confirm

  7. :wqa! :xa! :wqall! :xall!

    写入所有更改的缓冲区,即使是只读的,然后退出 Vim。如果有没有文件名的缓冲区或由于其他原因而无法写入的缓冲区,Vim 将不会退出。

要在 Vim 中阅读这些内容,请键入以下 Ex 命令

:help window-exit
于 2016-11-17T23:06:07.307 回答
7
:qall

这将关闭所有选项卡并打开缓冲区。

于 2009-02-04T06:56:13.080 回答
1

这是在 Linux/Mac 上关闭所有 VIM 实例的黑暗方式

:!killall vim -9

不要使用它。它可以满足您的要求,但可能不是最好的方式,但很有趣

于 2019-05-15T13:06:08.730 回答
0

我在 VSCode 中使用 VIM 插件,我正在寻找一种方法来关闭当前窗口上打开的所有选项卡。

这些命令不起作用,因为它们关闭了所有窗口中的所有选项卡:qa:wqa

该命令:tabonly关闭了当前窗口中除当前选项卡之外的所有选项卡。

因为我通常同时只使用 2 个窗口,所以我越接近我的需要就是专注于另一个窗口并运行命令:

:on

( :only) 它关闭除当前窗口之外的所有窗口。

于 2020-06-25T04:17:59.963 回答