跳转至

Zsh

内置补全功能

~/.zshrc 中增加

# 初始化补全系统
autoload -Uz compinit
compinit

# 补全菜单选择(可以用方向键选提示)
zstyle ':completion:*' menu select

输入命令开头按 Tab 键,会出现文件或命令建议菜单,再按一次 Tab 键可以在菜单中选择

自动建议插件

zsh-users/zsh-autosuggestions

brew install zsh-autosuggestions
echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc

高亮插件

zsh-users/zsh-syntax-highlighting

brew install zsh-syntax-highlighting
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc

个人配置

# 初始化补全系统
autoload -Uz compinit
compinit

# 补全菜单选择(可以用方向键选提示)
zstyle ':completion:*' menu select

# VSCode
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"

# UV
export PATH="$HOME/.local/bin:$PATH"
eval "$(uv generate-shell-completion zsh)"
eval "$(uvx --generate-shell-completion zsh)"

# Plugins
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

对比

  • Bash:大多数系统默认安装且可兼容 POSIX,所以 Shell 脚本一般用 Bash 写,使用 Shebang 指定用 Bash 执行,但交互体验相对差
  • Zsh:macOS 默认 Shell,交互体验相对好,但需要配置
  • Fish:开箱即用,交互体验好,但和其他 Shell 的语法差异较大

参考