README 目录 / zsh

zsh

当前主要 shell 配置包。它把启动流程拆成环境、插件、alias、函数、工具初始化、补全、fzf 和 vi mode,避免所有逻辑挤在一个巨大的 .zshrc 里。

主力 shell Antigen / oh-my-zsh fzf 工作流 vi mode

安装路径

stow -S zsh

会安装 ~/.zshrc~/.zshenv~/.zprofile~/.antigenrc~/.config/zsh/

加载顺序

~/.zshrc 先设置 ZSH_CONFIG_DIR="${ZSH_CONFIG_DIR:-$HOME/.config/zsh}",然后按下面顺序加载:

  1. env.zsh
  2. 如果是非交互 shell,直接返回。
  3. plugins.zsh
  4. aliases.zsh
  5. functions.zsh
  6. tools.zsh
  7. completion.zsh
  8. fzf.zsh
  9. vi.zsh

环境层

  • 配置 Homebrew、Python 3.11、OpenJDK 17、jenv、~/.local/bin、Bun、pnpm、VS Code、Obsidian、Antigravity 等路径。
  • 设置 JAVA_HOME,优先 Java 17。
  • 设置 EDITOR=vimLANGLC_ALL
  • 关闭 Homebrew 自动更新,并配置 bottle 镜像。
  • pythonpython3 alias 到 python3.11

工具层

  • Antigen 优先从 /opt/homebrew 加载,失败再回退 /usr/local
  • 读取 ~/.antigenrc 初始化 oh-my-zsh 插件。
  • 加载 autojump、Google Cloud SDK、Bun completion。
  • 懒加载 nvm。
  • 初始化 jenv 和 starship。

fzf 和 vi mode

fzf 默认优先用 fd 作为文件源,失败时用 rg --filesCtrl+t 选目录并 cd,Ctrl+r 搜历史,Ctrl+p 搜文件并插入命令行,fif <文本> 搜包含文本的文件并预览匹配。

vi mode 会根据 insert/normal mode 切换光标形状,Ctrl+v 可编辑当前命令行。

常用 alias 和函数

基础和 Git

AI、网络和维护

函数

这套 zsh 配置主要面向 macOS 和 Homebrew。推荐依赖包括 antigenstarshipfzffdripgrepjenvautojumpbunpnpmnvm。AI alias 带跳过确认参数,使用前确认当前目录和权限边界。