iTerm2 上的 tmux 和 shell 分割选项有区别吗?

iTerm2 上的 tmux 和 shell 分割选项有区别吗?

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

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

答案1

如果你关闭 iterm2,那么附加到 iterm2 该实例的 shell 也将被销毁/关闭。这种情况的进程层次:

iterm2
  +---- shell
  +---- shell
  +---- shell

如果你关闭 iterm2tmux, 然后tmux以及里面的贝壳tmux实例继续运行。您可以稍后重新连接到该实例tmux实例(这基本上就是人们在连接断开的情况下在远程服务器上工作的方式)并恢复到关闭 iterm2 之前的情况。这种情况的流程层次结构:

iterm2
  +---- tmux
          +---- shell
          +---- shell
          +---- shell

引用自tmux直接地:

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

一个提供基本相同功能的旧项目是屏幕

答案2

接受的答案很棒,也是我最喜欢的 tmux 功能,但经常被忽视的是每个 tmux 会话可以附加多个客户端。因此,一个或多个用户可以从不同的计算机连接到 tmux 会话,并且他们在窗口上共享相同的信息。

答案3

现在还有一个名为特莫西尔它为 iTerm 带来了布局窗口和窗格以及运行预配置命令的功能。

免责声明:我是此工具的作者(针对问题中描述的确切功能)。

相关内容