我正在使用 tmux 和 tmuxinator 来配置它。我总是打开不同的窗格,打开两个或多个编辑器会话和其他东西。每次我必须关闭整个 tmux 会话时,因为我要关闭计算机,这需要时间,因为在各种 tmux 窗格中都有活动的进程。所以我必须手动退出每个 Vim 实例,因为如果我只是杀死包含它的窗格,那么我最终会得到 vim 交换文件。
那么,有没有办法退出整个 tmux 会话(不仅仅是分离它)并自动关闭其中运行的所有进程?
我正在使用 tmux 和 tmuxinator 来配置它。我总是打开不同的窗格,打开两个或多个编辑器会话和其他东西。每次我必须关闭整个 tmux 会话时,因为我要关闭计算机,这需要时间,因为在各种 tmux 窗格中都有活动的进程。所以我必须手动退出每个 Vim 实例,因为如果我只是杀死包含它的窗格,那么我最终会得到 vim 交换文件。
那么,有没有办法退出整个 tmux 会话(不仅仅是分离它)并自动关闭其中运行的所有进程?
执行tmux kill-server
会杀死所有会话、窗口、窗格以及在其中运行的所有进程。这是完全退出与当前运行的 tmux 相关的所有内容的方法。
不幸的是,以上内容并不能解决 vim 交换文件的问题——你仍然会得到它们。我通过在以下行中解决交换文件问题.vimrc
:
set noswapfile
正如您可能猜到的,它禁用了 vim 中的交换文件。如果您定期将文件保存在 vim 中并且您拥有一台可靠的计算机,那么设置上述选项可能是完全可以接受的。
Tmux Resurrect使用obsession.vim,它使您能够在系统重新启动时保存和恢复 Vim 会话。