简介
Zellij 是一个用 Rust 编写的现代终端复用器,定位为 tmux 和 screen 的替代品。它最大的亮点是开箱即用的友好体验:界面底部始终显示可用的快捷键提示,新用户无需背诵任何按键组合即可上手操作,同时也为高级用户提供了丰富的自定义选项。
Zellij 引入了独特的布局系统和插件架构,支持使用 WebAssembly(WASM)编写插件来扩展功能。它原生支持浮动面板和堆叠面板,提供了比传统终端复用器更灵活的窗口管理方式。内置的会话管理功能让你可以轻松保存和恢复工作环境,而 Rust 的内存安全保证也让 Zellij 在稳定性方面表现出色。
安装
# macOS
brew install zellij
# Cargo
cargo install zellij
# 下载预编译二进制
curl -L https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz | tar xz
核心特性
- 快捷键提示: 界面底部实时显示可用操作,学习成本极低
- 浮动面板: 支持浮动窗口,灵活叠放管理
- 布局系统: 可定义和保存自定义布局模板
- WASM 插件: 使用 WebAssembly 编写插件扩展功能
- 会话管理: 内置会话持久化,断线后自动恢复
- 多模式切换: 面板模式、标签模式、调整模式等多种操作模式
使用示例
# 启动 zellij
zellij
# 使用指定布局启动
zellij --layout compact
# 创建命名会话
zellij -s my-project
# 列出所有会话
zellij list-sessions
# 附加到已有会话
zellij attach my-project
# 如果会话存在则附加,否则创建新会话
zellij attach --create my-project
# 终止指定会话
zellij kill-session my-project
# 终止所有会话
zellij kill-all-sessions
# 生成自动补全脚本
zellij setup --generate-completion zsh
常用快捷键
Ctrl+p 进入面板模式
方向键 / hjkl 在面板间切换
n 新建面板
d 关闭当前面板
f 全屏切换
Ctrl+t 进入标签模式
n 新建标签
方向键 切换标签
r 重命名标签
Ctrl+n 进入调整模式
方向键 调整面板大小
Ctrl+s 进入滚动模式
Ctrl+o 进入会话模式
d 分离会话
w 会话管理器
典型场景
场景一:开箱即用,无需记忆快捷键
相比 tmux 需要背诵大量按键,zellij 底部常驻提示栏:
# 直接启动,底部状态栏实时显示可用操作
zellij
# 新手只需记住:
# Ctrl+p → 面板操作(分割、切换)
# Ctrl+t → 标签操作(新建、关闭)
# Ctrl+o → 会话操作(分离、管理器)
场景二:用布局文件定义开发环境
将常用工作布局保存为文件,项目专属一键启动:
# ~/.config/zellij/layouts/dev.kdl
layout {
pane split_direction="vertical" {
pane size="60%" command="nvim"
pane split_direction="horizontal" {
pane command="bash" {
args "-c" "npm run dev"
}
pane
}
}
pane size=1 borderless=true {
plugin location="zellij:status-bar"
}
}
# 用自定义布局启动
zellij --layout ~/.config/zellij/layouts/dev.kdl
场景三:浮动面板临时调出工具
不打断当前工作流,临时弹出 lazygit 或监控面板:
# 在 zellij 内:
# Ctrl+p → w → 打开浮动面板
# 输入 lazygit 或 btop,用完后 Ctrl+p → w → 关闭浮动面板
# 主工作区完全不受干扰
推荐搭配
- neovim — 在 Zellij 面板中运行 Neovim
- lazygit — 在浮动面板中快速打开 Git 管理
- btop — 在独立面板中监控系统资源