2014-09-11 658 views
5

我正在使用tmux與tmuxinator配置它。我總是打開不同的窗格,打開兩個或更多編輯器會話和其他內容。每次我必須關閉整個tmux會話時,因爲我要關閉計算機,所以需要時間,因爲在各種tmux窗格中有活動的進程。所以我必須手動退出每個Vim實例,因爲如果我只是殺死包含它的窗格,那麼我最終會有vim交換文件。退出tmux時自動關閉進程

那麼,有沒有辦法退出整個tmux會話(不只是分離它),並自動關閉其中運行的所有進程?

+0

這是一個很好的問題。我發現'set synchronize-panes'對於關閉給定窗格上的多個窗口很有用。但是,有一個「關機」命令會很有用(可能根據進程名稱/ tmux-window名稱使用可定製的選項)。 – mMontu 2014-09-11 11:43:23

+1

似乎有人已經想到了它:[github上的tmuxinator ticket](https://github.com/tmuxinator/tmuxinator/issues/92) – mMontu 2014-09-11 11:48:16

回答

2

執行tmux kill-server殺死所有會話,窗口,窗格以及其中運行的所有進程。這是完全退出與當前正在運行的tmux相關的所有內容的方式。

上面不幸的是不能解決vim交換文件的問題 - 你仍然可以得到它們。 我通過在.vimrc以下行解決交換文件問題:

set noswapfile 

正如你可能已經猜到,它禁止在vim交換文件。如果你經常在vim中保存文件,並且你有一臺可靠的計算機,那麼設置上述選項可能是完全可以接受的。

相關問題