一个来自 lazygit 作者的终端管理神器,让你的终端效率直接起飞
前言
作为一名程序员,你是否经历过这样的场景:
- 同时开着多个项目,每个项目都要开一个终端窗口
- 切换分支的时候手忙脚乱,鼠标在终端和 Git GUI 之间来回穿梭
- 想看日志又不想关掉当前的开发环境,只能硬着头皮开新标签页
- 文件管理靠
cd+ls,每次都要输入一长串路径
以上这些破事我全遇到过。传统终端的操作方式真的该淘汰了。今天要介绍的工具叫 cmux,来自 lazygit 的作者,用完之后你会觉得以前的日子简直是原始人。
cmux 是什么?
cmux(Composite Mux)是一个终端复用器,类似于 tmux 但更加现代化。它的目标是:让你在一个终端窗口里完成所有操作,再也不用来回切换窗口。
直接看效果:

左边是项目导航,右边是终端面板,底部还集成了浏览器。一个窗口就是一个完整的工作空间,不用再满屏幕找窗口了。
核心功能一览
1. 项目分类导航
左侧边栏可以按项目维度组织终端会话。比如你有三个项目,每个项目开 2-3 个终端,切换项目就像在文件管理器里切换目录一样。项目再多也不乱。
2. 终端灵活拆分
这是 cmux 最实用的功能:
| 操作 | 快捷键 |
|---|---|
| 纵向拆分(上下排列) | Ctrl + Shift + D |
| 水平拆分(左右排列) | Ctrl + D |
| 新建标签页 | Ctrl + T |
| 跨终端切换 | Ctrl + Option + 方向键 |
上面跑着开发服务器,中间写着代码,底部开着数据库终端。一个窗口搞定全部,不用满世界找窗口。
3. oh-my-zsh 无缝集成
cmux 能自动识别你的 oh-my-zsh 配置,包括主题和插件。之前配置的个性化设置直接迁移,不用重新折腾。
4. 内置浏览器
没错,cmux 还带了个小型浏览器。查文档的时候不用再切换到 Chrome,看完直接切回来继续干活。

插件生态
cmux 支持自动识别终端里的各种效率工具。装上这几个插件,你的终端会变得特别好用。
lazygit - 终端里的 Git 客户端
官方网站 : github.com/jesseduffie...

用命令行操作 Git 的痛点:
- 想看某个文件的修改历史,要敲
git log --oneline --graph --all -- filename - 想看某次提交的具体内容,grep 半天找不到重点
- 合并分支的时候提心吊胆,生怕冲突没处理好
- 只想看哪些文件改了,也要输入
git status
lazygit 就是为了解决这些问题而生的。
安装和使用:
bash
# 安装
brew install lazygit
# 运行
lazygit
lazygit 能做什么?
- 单个文件内部分行暂存:按空格键暂存选中行,v 键选择多行,a 键暂存整个 hunk
- 交互式变基:按 i 键进入变基模式,可以 squash、fixup、drop、edit 提交,还能调整提交顺序
- Cherry-pick:shift+c 复制提交,shift+v 粘贴
- 二分查找:按 b 键开始 git bisect,精确定位问题提交
- 强删工作区:shift+d 可以一键清空所有未提交的修改
- 修正旧提交:shift+a 可以用当前暂存的修改去修正历史提交
- 筛选视图:按 / 键筛选分支、提交等列表
- Worktree 管理:按 w 键创建 worktree,多分支并行开发
- 撤销/重做:z 撤销,ctrl+z 重做
- 提交图:窗口够大时会显示彩色提交图
- 比较提交:shift+w 比较两个提交之间的差异
我用 lazygit 之后,再也没打开过 SourceTree。键盘操作确实比鼠标快太多了。
在 cmux 中装上 lazygit,你可以一边写着代码,一边用 lazygit 管理版本。遇到需要提交的时候,Ctrl + Option + 方向键 切换到底部终端,输入提交信息,一气呵成。
fresh - 现代终端文本编辑器

官方网站 : github.com/sinelaw/fre...
很多开发者习惯用 VS Code 或 Sublime Text 这种图形化编辑器,但有时候在终端里工作更高效。fresh 就是为了解决这个问题------把 VS Code 的体验带到终端里。
安装和使用:
bash
# 快速安装
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh
# 或者用 homebrew
brew tap sinelaw/fresh
brew install fresh-editor
# 运行
fresh
fresh 能做什么?
- 零配置:安装后直接能用,不需要任何配置
- 熟悉的热键:Ctrl+S、Ctrl+Z、Ctrl+F 这些标准快捷键都能用
- 完整鼠标支持:像图形编辑器一样用鼠标操作
- 命令面板:一个快捷键就能搜索文件、运行命令、切换标签页、跳转到任意行
- 多光标编辑:同时选中多处进行批量编辑,和图形编辑器一样的体验
- 文件管理:内置文件浏览器,支持标签页、git 状态显示、模糊搜索
- LSP 支持:跳转到定义、引用、悬停显示文档、代码诊断、自动补全
- 内置终端:集成终端模拟器,支持键盘捕获模式和会话持久化
- Vim 模式:也支持 Vim 风格的 Normal/Insert/Visual 模式
- 主题系统:内置多套主题,支持可视化主题编辑器
- 插件系统:用 TypeScript 编写插件,Sandboxed QuickJS 环境运行
- 多语言:支持 11 种以上语言,包括中文
这是一个终端文本编辑器,和 VS Code/Sublime Text 体验类似,但运行在终端里。特别适合那种想在终端里完成所有工作的人。
yazi - 快到飞起的终端文件管理器
官方网站 : github.com/sxyazi/yazi

传统的终端文件管理:
bash
cd /long/path/to/some/directory
ls -la
cd subfolder
ls
cd ..
每次都要 cd,路径一长简直崩溃。
yazi 带来了全新的体验,基于 Rust + 异步 I/O,速度极快。
安装和使用:
bash
# 安装
brew install yazi
# 运行
yazi
或者直接作为命令行工具用:
bash
# 用 yazi 打开当前目录
yazi .
# 选择文件后自动 cd 进入
yazi
yazi 的核心特性:
- 全异步支持:所有 I/O 操作都是异步的,CPU 任务分布在多个线程
- 内置图片预览:支持多种终端协议(kitty、iTerm2、WeTerm 等)
- 内置代码高亮:结合预加载机制,文件加载速度极快
- 插件系统:用 Lua 编写插件,支持 UI 重写、功能扩展
- 虚拟文件系统:支持远程文件管理、自定义搜索引擎
- 数据分发服务:基于客户端-服务器架构,实现跨实例通信和状态持久化
- 包管理器:一条命令安装插件和主题
- 集成 ripgrep、fd、fzf、zoxide
- Vim 风格交互:输入、选择、确认、通知组件,cd 路径自动补全
- 多标签页支持:跨目录选择、可滚动预览(视频、PDF、压缩包、代码、目录等)
- 批量重命名:批量修改文件名
- 归档解压:直接在终端内解压文件
- Git 集成:显示文件修改状态
- 主题系统:支持鼠标、回收站、自定义布局
yazi 最惊艳的功能是预览,支持图片、代码高亮、Markdown 渲染、PDF、压缩包等内容直接预览。
在 cmux 中,按 Ctrl + Option + 方向键 切换到文件管理面板,用 yazi 快速定位文件,确认后自动在当前目录执行操作。整个过程行云流水,完全不需要鼠标。
为什么选择 cmux?
| 特性 | tmux | iTerm2 | cmux |
|---|---|---|---|
| 学习曲线 | 高 | 中 | 低 |
| 项目导航 | 需要配置 | 一般 | 原生支持 |
| 终端拆分 | 需要配置 | 原生支持 | 原生支持 |
| 插件集成 | 需要配置 | 需要配置 | 自动识别 |
| 内置浏览器 | ❌ | ❌ | ✅ |
说白了:cmux 就像给 iTerm2 装上了项目管理器和插件市场,让终端真正变成了 IDE。
安装与配置
bash
# macOS
brew install cmux
# Linux
# 参考官方文档
首次启动后,按照提示配置 oh-my-zsh 路径,cmux 会自动识别你的主题和插件。
写在最后
很多人觉得终端就是「古老的命令行」,用起来糙。但 cmux 证明了:终端也可以很现代,也可以很高效。
如果你也受够了窗口开太多、切换太麻烦的问题,试试 cmux + 这三个插件的组合。工具选对了,效率才能翻倍。