jj_tui: 속도와 명료성에 초점을 맞춘 jujutsu용 터미널 사용자 인터페이스
요약
jj_tui는 Jujutsu 버전 관리 시스템을 위한 터미널 사용자 인터페이스(TUI)입니다. 이 도구는 뛰어난 성능과 직관적인 사용성을 목표로 하며, 리베이스와 같은 복잡한 작업을 실시간 그래프 미리보기로 제공합니다. 다양한 단축키 및 설정 파일 기능을 통해 개발자가 효율적으로 Git-like 워크플로우를 경험할 수 있도록 돕습니다.
핵심 포인트
- Jujutsu 전용 TUI로, 성능과 직관성에 초점을 맞춤.
- 리베이스 등 복잡한 작업을 실시간 그래프 미리보기로 지원.
- 다양한 단축키와 설정 파일(config.yaml)을 통해 커스터마이징 가능.
- Linux 및 macOS 환경에서 사용 가능한 빌드/설치 가이드 제공.
Jujutsu TUI
Jujutsu 버전 관리 시스템을 위한 TUI입니다. 저희의 초점은 다음과 같습니다:
성능(Performance): jj_tui는 빠르게 시작해야 하며, 커밋과 파일을 탐색할 때 느려지면 안 됩니다. 극도로 민첩하게 느껴져야 합니다.
직관성(Intuitive): 키 바인딩은 쉽게 암기할 수 있어야 하며, 불필요한 팝업 없이 근육 기억으로 빠르게 습득되어야 합니다.
상호작용성(Interactivity): jj_tui는 jj의 렌더러를 완전히 재구현하여, 리베이스가 어떻게 보일지 파악하는 동안 그래프의 실시간 미리보기를 보여줄 수 있습니다. (사용 r
ebasep
review로 시도해 보세요!)
도움말을 보려면 ?를 누르세요. (명령어는 그래프 뷰와 파일 뷰 간에 다릅니다).
Arrows
또는 hjkl
으로 창/아이템을 탐색합니다.
Space
으로 리비전(revisions)을 선택/해제 선택합니다 (그래프 뷰에서 다중 선택 가능).
Enter
로 diff를 넓히고 스크롤합니다.
주요 기능#
일반적인 jj 작업#
c
커밋(ommitting)
r
ebasing
g
it 푸시 및 풀링 - 추가, 이동 및 삭제
b
북마크(ookmarks)
s
쿼싱(quashing) 및
s
커밋 분할(plitting commits)space
은 복사, 리베이스 등 다중 커밋을 선택하는 데 사용될 수 있으며, 시작하는 a
new 커밋 등을 할 수 있습니다.
파일 뷰에서 커밋 생성:#
space
는 파일을 선택하여 개별적으로 c
ommit하거나 다른 커밋으로 m
이동하는 데 사용될 수 있습니다. 파일은 다음 또는 이전 커밋으로 전송됩니다.
N
ext 또는P
previous 커밋
revsets로 필터링#
f
원하는 모든 revset으로 필터링합니다.
그래프 명령어 목록:
설치#
linux
: 최신 릴리스를 가져옵니다. 정적으로 링크되었으며 모든 linux 기기에서 작동해야 합니다.
mac
: 사전 빌드(prebuild)를 가져옵니다. Mac에서 테스트할 수 없으니 문제가 있으면 알려주세요.
nix에서 jj_tui로 셸을 열려면: 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
키맵 사양은 ./jj_tui/lib/key_map.ml에서, 설정(config)에 대한 내용은 ./jj_tui/lib/config.ml에서 확인하세요.
키맵 설정은 모든 명령어와 하위 메뉴를 완전히 사용자 정의할 수 있게 해주며, 화살표 키 재매핑도 가능합니다.
예시:
key_map:
remap:
h: "left"
...
모든 명령어 ID 목록은 jj_tui/bin/graph_commands.ml와 jj_tui/bin/file_commands.ml에서 확인하세요.
로그(logs):
linux
: $XDG_STATE_HOME/jj_tui/
macos
: ~/Library/logs/jj_tui/
개발(Dev)#
nix nix build를 사용하거나, nix develop로 nix 쉘을 열어 빌드할 수 있습니다.
참고: nix dev 쉘을 사용 중이며 dune으로 빌드하고 싶다면 dune build --pkg disabled를 사용하세요.
nix가 제공하는 의존성(deps)을 사용하여 빌드하거나, dune build를 통해 Dune 패키지 관리자를 이용해 직접 빌드할 수도 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Lobste.rs ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기