jj_tui:专注于速度和清晰度的jujutsu终端用户界面

Lobsters Hottest 工具

摘要

jj_tui 是为 Jujutsu 版本控制系统设计的快速直观的终端用户界面,专注于性能以及实时图形预览等交互功能。

<p><a href="https://lobste.rs/s/fg3sgh/jj_tui_terminal_user_interface_jujutsu">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/30 09:36

# elidowling.com/jj_tui 来源:https://tangled.org/elidowling.com/jj_tui ## Jujutsu TUI\# (https://tangled.org/elidowling.com/jj_tui#jujutsu-tui) nix (https://github.com/faldor20/jj_tui/actions/workflows/build-nix.yml) 一个为 Jujutsu 版本控制系统打造的 TUI。我们的重点在于: - **性能**:jj_tui 启动迅速,绝不拖慢你的工作流程,浏览提交和文件时应该感觉非常流畅。 - **直观**:快捷键易于记忆,能快速形成肌肉记忆,无需多余弹窗。 - **交互性**:jj_tui 完全重新实现了 jj 的渲染器,让你在规划变基效果时,能实时预览图谱(试试`r`ebase`p`review 功能吧!) jj_tui-ezgif com-optimize 按`?`显示帮助(图谱视图和文件视图的命令不同)。`方向键`或`hjkl`导航窗口/项目,`空格`选择/取消选择修订(图谱视图下可多选),`回车`展开差异并滚动浏览。 ## 主要功能\# (https://tangled.org/elidowling.com/jj_tui#key-features) ### 常规 jj 操作\# (https://tangled.org/elidowling.com/jj_tui#normal-jj-operations) - `c` 提交 - `r` 变基 - `g` Git 推送和拉取 - 添加、移动和删除`b`书签 - `s` 压缩和拆分提交 - `空格` 选择多个提交进行复制、变基等操作,或在其上开始`n`新提交 ### 从文件视图创建提交:\# (https://tangled.org/elidowling.com/jj_tui#creating-commits-from-the-file-view) - `空格` 选择文件,以便单独`c`提交或将文件`m`移动到不同提交 - 文件可以发送到`N`下一个或`P`上一个提交 ### 按 revsets 筛选\# (https://tangled.org/elidowling.com/jj_tui#filtering-by-revsets) - `f` 按任意 revset 筛选 图谱命令列表: jj_tui commands ## 安装\# (https://tangled.org/elidowling.com/jj_tui#installing) `linux`:获取最新版本,静态链接,适用于任何 Linux 机器。`mac`:获取预构建版本。如有问题请告知,我无法在 Mac 上测试。 要在 nix 上打开带有 jj_tui 的 shell:`nix shell github:faldor20/jj\_tui` ## 依赖\# (https://tangled.org/elidowling.com/jj_tui#dependencies) Jujutsu CLI(最低版本 0.30.0)。我尚未在 Windows 或 Mac 上测试,相信它无法在 Unix 以外的环境运行,因此 Windows 用户目前需要使用 WSL。 ## 配置文件:\# (https://tangled.org/elidowling.com/jj_tui#config-file) 你可以在以下目录创建`config.yaml`配置文件来自定义按键输入: `linux`:$XDG\_CONFIG\_HOME/jj\_tui/ `macos`:~/Library/preferences/jj\_tui/ 请参阅`./jj\_tui/lib/key\_map.ml`了解键位规范,以及`./jj\_tui/lib/config.ml`了解配置说明。 按键配置可让你完全自定义所有命令及其子菜单,并可重新映射方向键。 例如: `` key_map: remap: h: "left" j: "down" k: "up" l: "right" graph: # 从按键到命令 ID 的简单映射 p: prev # 命令子菜单 s: title: "Squash" sub: # 子菜单命令 s: "squash_into_parent" # 如果终端宽度小于此值,UI 将切换为单面板视图 single_pane_width_threshold: 110 # 设置 jj_tui 最大渲染的提交数量,防止查看 'all()' revset 时速度过慢 max_commits: 100 `` 完整的命令 ID 列表请参见`jj\_tui/bin/graph\_commands.ml` (https://tangled.org/elidowling.com/jj_tui/tree/main/jj_tui/bin/graph_commands.ml)和`jj\_tui/bin/file\_commands.ml` (https://tangled.org/elidowling.com/jj_tui/tree/main/jj_tui/bin/file_commands.ml) ## 日志:\# (https://tangled.org/elidowling.com/jj_tui#logs) `linux`:$XDG\_STATE\_HOME/jj\_tui/ `macos`:~/Library/logs/jj\_tui/ ## 开发\# (https://tangled.org/elidowling.com/jj_tui#dev) 可以使用 nix 构建:`nix build`,或者通过 `nix develop` 打开 nix shell。 注意:如果使用 nix 开发 shell,并希望使用 dune 构建,请使用 `dune build --pkg disabled` 以使用 nix 提供的依赖项。 也可以通过 Dune 包管理直接构建:`dune build`。

相似文章

jujutsu v0.42.0 发布

Lobsters Hottest

Jujutsu (jj) 版本控制系统发布了 v0.42.0。Jujutsu 是一款开源 VCS,以 Git 作为存储后端,同时提供更符合人体工程学的操作界面,其功能设计灵感来源于 Mercurial、Sapling 和 Darcs。

Evan的Jujutsu教程

Lobsters Hottest

面向熟悉Git的用户,关于版本控制系统Jujutsu (jj)的简明教程。

JusTTY

Product Hunt

JusTTY是一个使用Swift和libghostty构建的简单原生macOS终端。

jj v0.41.0 发布

Lobsters Hottest

Jujutsu (jj) v0.41.0 已发布,这款实验性版本控制系统迎来了更新,旨在提升易用性和冲突处理能力。

tterm

Product Hunt

tterm 是一款集终端、真实浏览器和 Claude Code 于单一界面的产品,提供集成开发环境。