跳转到内容

Shell 设置

vibe 需要一个 shell 包装函数,才能在创建或清理 worktree 之后切换目录。请将相应的配置添加到你的 shell 中。

请将以下内容中的其中一项添加到 ~/.zshrc。不要同时添加两者 —— 否则包装函数会被定义两次。

推荐 —— 包装函数 + Tab 补全(子命令、标志,以及 vibe start / vibe jump 的分支名):

Terminal window
autoload -Uz compinit && compinit
eval "$(vibe shell-setup --shell zsh --with-completion)"

这两行会同时定义 vibe 包装函数并注册 zsh 补全。compinit 那一行是 zsh 补全系统所必需的 —— 如果你已经在 ~/.zshrc 的其他地方调用了 compinit,请把 eval 那一行放在该调用之后。如果 compinit 未被执行,补全注册会被静默跳过,但 vibe 包装函数仍会被定义。

仅包装函数(无 Tab 补全):

Terminal window
vibe() { eval "$(command vibe "$@")" }

如果你是通过 mise 安装 vibe 的,可以利用 mise 的 hooks 功能来自动完成 shell 设置。

将以下内容添加到项目的 .mise.toml

[hooks]
enter = 'eval "$(vibe shell-setup)"'

当 vibe 创建 worktree 时,它需要把你当前的工作目录切换到新的 worktree。然而,子进程无法直接改变父进程的目录。

shell 包装函数会捕获 vibe 的输出(其中包含类似 cd /path/to/worktree 的 shell 命令),并在当前 shell 上下文中执行它。

添加 shell 配置之后,重新加载你的 shell 并进行验证:

Terminal window
# 重新加载 shell 或打开一个新终端
source ~/.zshrc # 或 ~/.bashrc 等
# 确认 vibe 可以正常工作
vibe --help
  • 配置 - 设置 .vibe.toml 以实现自动化工作流
  • 命令 - 了解可用的命令