【问题标题】:How do I close all open tabs at once?如何一次关闭所有打开的标签?
【发布时间】:2010-10-05 08:24:25
【问题描述】:

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

如何一次性关闭它们?

【问题讨论】:

    标签: vim vi shortcuts


    【解决方案1】:

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

    :qa
    

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

    :wqa
    

    【讨论】:

    • :wqa 可以简化为 :xa
    • 永远不要使用:x 永远永远永远永远。有一天你会搞砸并使用:X 加密你的文件,而你将不知道密钥。
    • @AaronMcMillin 我一直使用 :x,并且从未意外加密过文件。
    • 确实对我有好处!我可能是个例外。我至少是一个数据点。永远不要说“永远永远永远”,这是我的座右铭。 :)
    • @AaronMcMillin:我知道这是一个老问题,但至少在我目前的 Vim 上,你必须(1)输入大写 X(2)不小心输入密码,(3)不小心再次输入相同的密码,否则会出现问题。我认为这不太可能......
    【解决方案2】:

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

    【讨论】:

    • “关闭所有其他选项卡”通过“:on”更快地实现(对于“仅”,即“唯一显示的窗口”)。 :)
    • @Bombe:对我来说它也不起作用。 :on 只关闭 windows,而不是选项卡,至少在我的 vim 7.3.3 中。
    • :tabo 正是我正在寻找的。如果可以的话,我会支持你 30 次。 :)
    • 这有一个附带好处,它仍然保留缓冲区列表中的所有选项卡。您可以通过:ls 看到它们。因此,如果您愿意,您仍然可以稍后恢复标签。或者将它们转换为窗口等。
    【解决方案3】:

    这可以通过以下方式完成 命令(在正常或转义模式下):

    :tabdo :q
    

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

    【讨论】:

    • 注意,这不是我的答案。我把它从原来的非问题移到了这里。
    【解决方案4】:

    补充 fuentesjr 所说的:

    :qa!
    

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

    【讨论】:

      【解决方案5】:

      您可以使用以下任何 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
      

      【讨论】:

        【解决方案6】:
        :qall
        

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

        【讨论】:

          【解决方案7】:

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

          :!killall vim -9
          

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

          【讨论】:

          • 如果您不小心是root用户,您可能会关闭其他人的会话。不太好笑:)。
          【解决方案8】:

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

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

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

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

          :on
          

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

          【讨论】:

            猜你喜欢
            • 2012-07-20
            • 2020-09-21
            • 2018-06-15
            • 1970-01-01
            • 1970-01-01
            • 2021-03-27
            • 2021-01-12
            • 1970-01-01
            • 2019-05-16
            相关资源
            最近更新 更多