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 这样的服务端多路复用器唯一无可争议的优势。