a MoonBit rewrite of zoxide: jump to directories in a few keystrokes
Dependencies
j projects # 记录过的目录里匹配 projects 的最高分
j backend api # 多关键词:api 锚定路径末组件,backend 向左消耗git clone https://github.com/superbigcup325/jumbit && cd jumbit
export PATH="$HOME/.moon/bin:$PATH" # MoonBit 工具链
moon check && moon test # 构建前自检(可选)
moon build --release
# 产物:_build/native/release/build/cmd/main/main.exe,拷进 PATH 即可# 1. shell 集成(以 bash 为例;zsh/fish 见「shell 集成」)
echo 'eval "$(jumbit init bash)"' >> ~/.bashrc && exec bash
# 2. 像平常一样干活——cd 换目录时自动记录
cd ~/projects/backend
# 3. 此后在任意位置按关键词跳回
j backend # 记录过的目录里匹配 backend 的最高分
ji # fzf 交互式跳转jumbit add ~/projects/backend # 记录目录(hook 自动调用;也可手动)
jumbit add --score 3.5 ~/projects # 指定本次增量权重
jumbit query backend # 输出匹配的最高分目录
jumbit query --list --score # 全部匹配,按得分降序带分数前缀
jumbit query --interactive # fzf 交互选择
jumbit query --all --exclude ~/tmp # 跳过存在性检查 / 排除指定目录
jumbit query --json # 单行 JSON 数组输出全部匹配(agent 通道)
jumbit query --tsv # Tab 分隔数据行(agent 通道,jumbit 扩展)
jumbit query --list --limit 5 # 只输出前 5 条(列表型输出通用,jumbit 扩展)
jumbit query --fuzzy blog # 精确零命中时按组件子串兜底(jumbit 扩展)
jumbit describe ~/projects/backend --note "后端服务" # 人工标注(jumbit 扩展)
jumbit export --agents # 项目地图 Markdown(jumbit 扩展)
jumbit remove ~/projects/backend # 从数据库移除
jumbit help# bash:加入 ~/.bashrc
eval "$(jumbit init bash)"
# zsh:~/.zshrc;fish:~/.config/fish/config.fish 用 `jumbit init fish | source`
j backend # 跳转(自动补全)
ji # fzf 交互式跳转jumbit query --json backend[{"path":"/home/you/projects/backend-api","score":8,"last_accessed":1789054423,"matched_by":"exact"}]/home/you/projects/backend-api 8 1789054423 exactjumbit describe ~/projects/backend-api --note "后端服务"
jumbit export --agents >> AGENTS.md<!-- jumbit export --agents:项目地图,按常用度(frecency)降序 -->
| 路径 | 说明 |
|---|---|
| /home/you/projects/backend-api | 后端服务 |jumbit import <plugin>| 插件 | 命令 | 数据文件探测 |
|---|---|---|
| atuin | jumbit import atuin | 经 atuin history list 子进程读取 |
| autojump | jumbit import autojump | $XDG_DATA_HOME/autojump/autojump.txt,默认 ~/.local/share/autojump/autojump.txt |
| fasd | jumbit import fasd | $_FASD_DATA,否则 ~/.fasd |
| z | jumbit import z | $_Z_DATA,否则 ~/.z |
| z.lua | jumbit import z.lua | $_ZL_DATA,否则 ~/.zlua;主路径缺失回落 zlua/zlua.txt |
| zsh-z | jumbit import zsh-z | $ZSHZ_DATA,否则同 z |
| 距上次访问 | 系数 |
|---|---|
| 1 小时内 | ×4.0 |
| 1 天内 | ×2.0 |
| 1 周内 | ×0.5 |
| 其余 | ×0.25 |
j backend api # api 落在路径末组件,backend 在其左侧消耗| 变量 | 作用 | 默认 |
|---|---|---|
| _JB_DATA_DIR | 数据目录(须绝对路径) | $HOME/.local/share/jumbit |
| _JB_ECHO=1 | add 时回显记录的目录 | 关 |
| _JB_EXCLUDE_DIRS | 冒号分隔的 glob,命中的目录不入库 | home 目录本身 |
| _JB_FZF_OPTS | 透传给 fzf 的自定义参数 | 内置参数组 |
| _JB_MAXAGE | 数据库总分老化阈值 | 10000 |
| _JB_RESOLVE_SYMLINKS=1 | add 时解析符号链接 | 关 |
Install
Download zipa MoonBit rewrite of zoxide: jump to directories in a few keystrokes
Dependencies