咒术师 TUI
咒术版本控制系统的 TUI 我们的关注点是:
- 性能:jj_tui 启动快速,永远不会拖慢你的速度,浏览提交和文件时应感觉极其流畅
- 直观:快捷键应易于记忆,快速形成肌肉记忆,无需不必要的弹窗
- 交互性:jj_tui 完全重新实现了 jj 的渲染器,因此我们可以在你规划变基时实时显示图形预览(使用
rebasepreview 试试!)
按 ? 显示帮助。(图形和文件视图的命令不同)。
用 方向键 或 hjkl 导航窗口/项目
按 空格 选择/取消选择修订(图形视图支持多选)
按 回车 展开差异并滚动查看
主要功能
常规 jj 操作
c提交r变基gGit 推送和拉取- 添加、移动和删除
b书签 s合并和s拆分提交空格可用于多选提交以复制、变基等,在其上启动n新提交等
从文件视图创建提交:
空格可用于选择文件以单独c提交或m移动到不同提交- 文件可以发送到
N下一次或P上一次提交
按修订集过滤
f按你喜欢的任何修订集过滤
安装
linux:下载最新版本。它是静态链接的,应该可以在任何 Linux 机器上运行。
mac:获取一个预构建版本。如果你遇到任何问题,请告诉我,因为我无法在 Mac 上测试。在 nix 上使用 jj_tui 打开 shell:nix shell github:faldor20/jj_tui
依赖项
jujutsu CLI(最低版本 0.30.0) 我尚未在 Windows 或 Mac 上测试。 我认为它在 Unix 以外无法工作,因此 Windows 用户目前必须使用 wsl。配置文件:
你可以在以下目录中创建一个config.yaml 配置文件,以自定义按键输入
linux:$XDG_CONFIG_HOME/jj_tui/
macos:~/Library/preferences/jj_tui/
请参见 ./jj_tui/lib/key_map.ml 中的键映射规范和 ./jj_tui/lib/config.ml 中的配置
键映射配置允许你完全自定义所有命令及其子菜单,并重新映射箭头键。例如:
`` yaml
key_map:
remap:
h: "left"
j: "down"
k: "up"
l: "right"
graph:
#Simple mapping from key to command_id
p: prev
#Command sub menu
s:
title: "Squash"
sub:
# sub menu command
s: "squash_into_parent"
`If the terminal is smaller than this width, the UI will change to a single pane view
single_pane_width_threshold: 110
Sets the limit to how many commits are ever rendered in jj_tui. Usefull for not slowing down too much when viewing 'all()' revest.
max_commits: 100
完整的命令 ID 列表请参见 jj_tui/bin/graph_commands.ml 和 jj_tui/bin/file_commands.ml
日志:
linux:$XDG_STATE_HOME/jj_tui/
macos:~/Library/logs/jj_tui/开发
可以通过 nix 构建 nix build 或使用 nix develop 打开 nix shell
注意:如果您使用 nix 开发 shell 并希望使用 dune 构建,请使用 dune build --pkg disabled 以使用 nix 提供的依赖进行构建
也可以直接通过 Dune 包管理使用 dune build` 构建。--- Tranlated By Open Ai Tx | Last indexed: 2026-07-23 ---