Zellij:内置“全家桶”的终端工作区
Zellij 是一款基于 Rust 的终端多路复用器,凭借浮动窗格、每个标签页的上下文、沙箱化插件以及更易发现的键位绑定,作为 tmux 的更易用替代品而受到关注。支持者强调它在工作流改进、会话持久化和配置简便方面的优势;怀疑者则质疑它相较于 tmux、kitty、终端标签页和分屏式窗口管理器是否提供了足够多的新东西。同时,输入延迟、内存占用和键位冲突等问题也引发关注,凸显出现代特性与成熟、普及工具之间的权衡。
总体采用情况 vs. tmux/screen/仅终端方案
- 几位用户表示在过去几个月里从 tmux 切换到 Zellij 后很满意;也有人只是短暂尝试后又回到 tmux。
- tmux 仍因在远程系统上的普及、成熟度以及强大的脚本/会话工具而受重视(通常还会配合 tmuxp 使用)。
- 也有人仍偏好 GNU screen 或 Byobu(被视为“只是 tmux/screen 的默认选项”)。
- 相当一部分人认为多路复用应该由终端模拟器或窗口管理器来承担(例如 Konsole、kitty、wezterm、平铺式窗口管理器),并且除非需要 SSH 持久会话,否则很少觉得还有必要再额外用这一层。
浮动窗格与 zellij run 工作流
- 浮动窗格被反复描述为 Zellij 的“杀手级特性”:
- 全屏编辑器配合用于后台任务的临时终端(测试、k9s、shell),可通过热键切换。
- 每个标签页内的浮动窗格让相关任务保持上下文关联。
zellij run --floating命令以及“按 Enter 重新运行”这一设计,因适合跑测试和快速命令而受到称赞。- 怀疑者则认为 tmux 的窗口/窗格/弹窗,或者只是切换窗口,也能带来类似好处,并质疑为什么叠加层比单独窗口更好。
性能、延迟与内存
- 体验分歧明显:有人感觉没有输入延迟;也有人报告在大屏上有明显延迟和滚动卡顿。
- 上游 PR 中仍在持续进行性能优化。
- 内存占用颇具争议:有人报告 Zellij 占用约 500MB,并认为无法使用;维护者将这种行为部分归因于 Rust 分配器,并表示内存最终会被释放,但用户对潜在泄漏仍然担忧。
UI、键位与可用性
- Zellij 因易于发现功能、简单配置、可见的上下文快捷键以及对可预测性的重视而受到好评。
- UI 可能显得过于“庞大”或繁杂;文档说明了如何隐藏边框并减少界面装饰。
- 支持类似 tmux 的键位绑定,并且被视为一等公民,这降低了迁移成本。
- 也有人抱怨 Zellij 抢占了太多键位,并强制使用一种模式/解锁模型,增加了摩擦。
- 有些人指出默认绑定会与 Emacs/readline 冲突;重映射很常见。
功能、插件与生态
- 喜欢的功能:会话恢复、沙箱化插件(相较 tmux/nvim 插件生态被视为安全优势)、真正的浮动/堆叠窗格、多用户协作支持。
- 批评:插件生态以及高级集成(例如 kitty 图像协议)仍弱于 tmux + 插件。
更广泛的工作流争论
- 争论仍在继续:多路复用器是否只是重新发明 GUI IDE,以及仅用 vim/neovim(配合分屏/标签/终端)是否就足够。
- 许多人认为,在远程主机上进行 detach/re-attach 是像 tmux/Zellij 这样的服务端多路复用器唯一无可争议的优势。