【问题标题】:How to exit out of shell session started with :bel terminal ++noclose cleaning closing window如何退出以 :bel 终端 ++noclose 清理关闭窗口开始的 shell 会话
【发布时间】:2019-11-11 14:01:03
【问题描述】:

我在 Mac OS X 上使用 vim 8.1.x。

我的 vimrc 中有以下内容

autocmd VimEnter * :bel terminal ++noclose

目的是在vim的底部打开一个终端。

  1. 当我试图通过关闭所有缓冲区来退出 vim 时
    :qa

底部不退出终端

  1. 我在终端中手动输入exit 退出。终端已退出,但终端缓冲区仍处于打开状态。

如何很好地退出 vim 关闭所有窗口,包括终端?

【问题讨论】:

    标签: vim terminal exit macvim


    【解决方案1】:

    来自 E947 的 Vim 文档:

    只要作业在运行,就认为缓冲区被修改,Vim 不能轻易退出,见放弃。

    您可以使用几个选项。一种是使用:qa! 退出。另一种是设置一个 autocmd 以在您退出时终止所有终端窗口:

    autocmd ExitPre * for i in term_list() | exe ':bd! ' . i | endfor
    

    这会钩住ExitPre 事件,并在该事件发生时删除所有带有终端的缓冲区。但是请注意,如果您的退出由于另一个缓冲区被修改而中止,那么您的终端仍将关闭。没有办法避免这种情况,因为 Vim 不会区分修改过的终端和其他修改过的缓冲区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 2012-02-07
      • 2011-07-30
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      相关资源
      最近更新 更多