tmux 简介
tmux 是一款免费开源的终端复用器。它能让你在一个终端里运行多个程序,分成多个窗口和并排的窗格,并用键盘在它们之间切换。它最有用的功能是会话:从会话中分离后,里面的一切都会继续运行,即使你关闭终端或 SSH 连接中断也没关系;之后重新连接,就能从中断的地方继续。tmux 由 Nicholas Marriott 和其他贡献者开发,以 ISC 许可证发布。
在 Mac 上,可以用 Homebrew(brew install tmux)或 MacPorts 安装 tmux,然后在“终端”中输入 tmux 启动。命令以前缀键开头,默认是 Control-B;几乎所有设置都能在配置文件 ~/.tmux.conf 中修改。tmux 3.8 新增了浮在其他窗格之上的浮动窗格。
主要功能
tmux 把一个终端窗口变成完整的工作空间。
- 会话:让程序在后台持续运行,之后再重新连接,通过 SSH 也可以。
- 窗口和窗格:横向和纵向分割屏幕,想要多少窗格都行。
- 浮动窗格:浮在其他窗格之上的窗格,是 tmux 3.8 的新功能。
- 键盘控制:用前缀键移动窗格、调整大小和切换窗格。
- 复制模式:用键盘回滚、搜索和复制文本。
- 状态栏:可自定义的状态栏,显示窗口、时间等信息。
- 配置:在 ~/.tmux.conf 中修改快捷键、颜色和行为。
- 可脚本化:从脚本和其他工具通过命令控制 tmux。
3.8 版本新功能
tmux 3.8 带来了浮动窗格和主题。
- 大幅改进浮动窗格,包括移动、调整大小和用鼠标拖移
- 新增模态窗格,在关闭之前会阻止操作其他窗格
- 布局字符串改用 JSON 格式,并包含浮动窗格
- 新的 remain-on-exit 设置,可在命令失败后保持窗格打开,直到按下某个键
- 支持主题,并改进了默认配色
tmux 常见问题
tmux 免费吗?
是的。tmux 免费且开源,以 ISC 许可证发布。
如何在 Mac 上安装 tmux?
如果使用 Homebrew,在“终端”中运行 brew install tmux;也可以用 MacPorts 安装。然后输入 tmux 启动。
什么是终端复用器?
它是一种在一个窗口中运行多个终端会话的程序,会话可分成窗口和窗格,并在你断开连接后继续在后台运行。
tmux 的前缀键是什么?
大多数 tmux 命令都以前缀键开头,默认是 Control-B。例如,先按 Control-B 再按 % 会左右分割窗格,先按 Control-B 再按 " 会上下分割。
如何分离并重新连接 tmux 会话?
先按 Control-B 再按 D 即可分离,所有内容会继续运行。运行 tmux attach 重新连接,运行 tmux ls 列出你的会话。
为什么要通过 SSH 使用 tmux?
如果连接中断,服务器上 tmux 会话中运行的程序会继续运行。重新连接并接入会话,就能从中断处继续。
tmux 的配置文件在哪里?
tmux 读取 ~/.tmux.conf。你可以在其中修改前缀键、快捷键、颜色、状态栏等。
如何在 tmux 中向上回滚?
先按 Control-B 再按 [ 进入复制模式,然后就可以用键盘滚动、搜索和复制文本。按 q 退出。
tmux 3.8 有哪些新功能?
tmux 3.8 大幅改进了浮动窗格,并新增了模态窗格、JSON 布局格式、主题以及更好的默认配色。
tmux.FULLMAC.app 上的 tmux 下载来自哪里?
下载按钮指向 tmux 的官方 GitHub 页面 https://github.com/tmux/tmux,那里有源代码、各个版本和安装信息。tmux.FULLMAC.app 不会修改或重新打包它。
相似应用
VigilVigil 是一款免费开源的 Mac 原生终端,让编程智能体像团队一样协作。你不必再亲自在多个智能体窗口之间复制消息,只需把任务交给根节点的管理者智能体,它可以自行启动工作者智能体和子管理者。细节沿着树向下传递,结果以摘要形式返回给管理者,让管理者的上下文保持精简。实时节点树可以一次看到整个团队,每个节点都保留智能体自己的终端界面,你可以打开任意节点直接接手。开发工具
SwitchShuttleSwitchShuttle 是一款 Mac 菜单栏应用,让常用的终端命令只需一次点击或一个快捷键就能运行。你可以把命令整理到多级子菜单中,为每条命令设置全局快捷键和表情图标,然后在任何地方运行,无需先打开终端再输入。它支持 iTerm、Terminal、Warp、Alacritty、Hyper 等终端,每条命令都可以在当前窗口、新标签页或新窗口中运行。开发工具
tty7tty7 是一款用 Rust 编写的 GPU 渲染终端,基于 Zed 的 gpui 和 Alacritty 的终端核心构建。Shell 和窗格归后台服务器所有,而不是归窗口所有,因此即使退出应用,Shell 也会继续运行,无需 tmux。重启后,布局、屏幕内容和受支持代理的对话都会恢复。开发工具
TabbyTabby(原名 Terminus)是一款高度可配置的终端模拟器,同时也是 SSH、Telnet 和串口客户端。它一次替代多种工具:带标签页和分屏的本地终端、管理服务器的连接管理器,以及用于路由器、单片机等设备的串口终端。你的 SSH 密码和密钥可以保存在加密保险库中,可以通过 SSH 传输文件,还能用主题和插件改变外观和功能。Tabby 由 Eugene Pankov 开发,可在 Mac、Windows 和 Linux 上运行。开发工具
kittykitty 是一款快速、功能丰富的终端模拟器,用 GPU 绘制文字,滚动和大量输出都很流畅。它内置标签页和多种布局的分屏窗口,支持真彩色、连字和表情符号,还有自己的图形协议,可以直接在终端里显示图片。kitty 可以通过脚本和命令行控制,并能用称为 kitten 的小程序扩展,例如沿用你的设置进行 SSH 连接、并排比较文件和输入 Unicode 字符。kitty 由 calibre 的开发者 Kovid Goyal 制作。开发工具- ripgrepripgrep 是一款免费开源的命令行工具,能以极快的速度在文件夹的文件中搜索文本或正则表达式。它的命令是 rg:输入 rg 加上要找的内容,它就会搜索当前文件夹及其中的一切。默认情况下,它会跳过 .gitignore 中列出的文件、隐藏文件和二进制文件,因此在代码项目中你只会看到有用的结果。ripgrep 由 Andrew Gallant 开发,采用 MIT 许可证和 Unlicense 双重许可。开发工具
FULLMAC.app 不托管此应用。下载按钮会将你带到开发者自己的页面。