iTerm2 上的 tmux 和 shell 拆分选项之间的区别?

won*_*tta 8 bash shell iterm tmux macos

我目前为我的开发环境切换到 iTerm2 + VIM。我注意到 iTerm2 的最新版本支持tmux并且有人使用tmux将窗口拆分为多个会话。我还注意到 iTerm2 具有开箱即用的选项,可以将窗口拆分为多个会话。例如,您可以通过使用 CMD+D 来垂直和水平拆分任意数量的会话。所以对我来说,您似乎可以使用这些选项完成相同的功能。我可能完全错了。

我的问题是:tmux在 iTerm2 上使用拆分选项有区别/好处吗?

aki*_*ira 9

如果您关闭 iterm2,那么附加到 iterm2 实例的外壳也会被销毁/关闭。这种情况的流程层次:

iterm2
  +---- shell
  +---- shell
  +---- shell
Run Code Online (Sandbox Code Playgroud)

如果您关闭保存tmux的 iterm2 ,则tmux和该tmux实例中的外壳会继续运行。您可以稍后重新附加到该tmux实例(这基本上是人们在远程服务器上工作的方式,以防连接断开)并恢复关闭 iterm2 之前的情况。这种情况的流程层次结构:

iterm2
  +---- tmux
          +---- shell
          +---- shell
          +---- shell
Run Code Online (Sandbox Code Playgroud)

直接从tmux引用:

tmux 是一个终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端(或窗口),每个终端都运行一个单独的程序。tmux 可能会从屏幕上分离并继续在后台运行,然后再重新连接。

提供基本相同功能的旧项目是screen