tmux 实用程序是一个终端多路复用器,可让您将终端视为进入系统的多窗格窗口。 您可以安排配置,在每个中运行不同的进程,并且通常可以更好地利用您的屏幕。 我们在之前的这篇文章中向一些读者介绍了这个强大的工具。 如果您开始使用,这里有一些提示可以帮助您从 tmux 中获得更多收益。
本文假设您当前的前缀键是 Ctrl+b. 如果您重新映射了该前缀,只需将您的前缀替换为它的位置。
将终端设置为自动使用 tmux
tmux 的最大好处之一是能够随意断开和重新连接到会话。 这使得远程登录会话更加强大。 您是否曾经失去连接并希望能够恢复您在远程系统上所做的工作? 使用 tmux 解决了这个问题。
但是,您有时可能会发现自己在远程系统上工作,并意识到您没有启动会话。 避免这种情况的一种方法是每次登录到具有交互式 shell 的系统时都启动或附加 tmux。
将此添加到远程系统的 ~/.bash_profile 文件中:
if [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi
然后注销远程系统,并使用 SSH 重新登录。 你会发现你在一个名为 default 的 tmux 会话中。 如果您退出,该会话将在下次登录时重新生成。 但更重要的是,如果您像往常一样脱离它,您的工作会在您下次登录时等着您——在您的连接中断时尤其有用。
当然,您也可以将其添加到本地系统中。 请注意,大多数 GUI 中的终端不会自动使用默认会话,因为它们不是登录 shell。 虽然您可以更改该行为,但它可能会导致嵌套,从而降低会话的可用性,因此请谨慎操作。
使用缩放专注于单个进程
虽然 tmux 的目的是在单个会话中提供多个窗口、窗格和进程,但有时您需要集中精力。 如果您在一个进程中并且需要更多空间,或者专注于单个任务,则缩放命令效果很好。 它扩展当前窗格以占用整个当前窗口空间。
缩放在其他情况下也很有用。 例如,假设您在图形桌面中使用终端窗口。 窗格会使从 tmux 会话中复制和粘贴多行变得更加困难。 如果您缩放窗格,您可以轻松地对多行数据进行干净的复制/粘贴。
要放大当前窗格,请点击 Ctrl+b, z. 完成缩放功能后,点击相同的组合键以取消缩放窗格。
绑定一些有用的命令
默认情况下 tmux 有许多可用的命令。 但是将一些更常见的操作绑定到您可以轻松记住的键上会很有帮助。 以下是您可以添加到 ~/.tmux.conf 文件中的一些示例,以使会话更加愉快:
bind r source-file ~/.tmux.conf ; display "Reloaded config"
此命令重新读取配置文件中的命令和绑定。 添加此绑定后,退出所有 tmux 会话,然后重新启动一个。 现在,在您进行任何其他未来更改后,只需运行 Ctrl+b, r 并且更改将成为您现有会话的一部分。
bind V split-window -h bind H split-window
这些命令使在垂直轴上分割当前窗口变得更容易(注意 Shift+V) 或横穿水平轴 (Shift+H)。
如果您想查看所有键的绑定方式,请使用 Ctrl+B, ? 查看列表。 当您在 tmux 中使用复制和粘贴时,您可能会首先看到以复制模式绑定的键。 您可以在前缀模式绑定中看到您在上面添加的绑定。 随意尝试自己的!
使用电力线实现大正义
正如之前报道的 Fedora 杂志文章,powerline 实用程序是您 shell 的绝佳补充。 但它在与 tmux 一起使用时也具有功能。 因为 tmux 占据了整个终端空间,所以 powerline 窗口可以提供的不仅仅是更好的 shell 提示。
如果您还没有安装该实用程序,请按照杂志电力线文章中的说明安装该实用程序。 然后,使用安装插件 sudo:
sudo dnf install tmux-powerline
现在重新启动你的会话,你会在底部看到一个漂亮的新状态行。 根据终端宽度,默认状态行现在显示您当前的会话 ID、打开的窗口、系统信息、日期和时间以及主机名。 如果您将目录更改为 git 控制的项目,您还将看到分支和颜色编码的状态。
当然,这个状态栏也是高度可配置的。 享受您新的增压 tmux 会话,并享受试验的乐趣。