基本上,本文就是来分享一下今天探索一个小时的时间,我对自己的Terminal做的一些升级。其核心就是使用了OhMyZsh来定制里面的一些功能,让Terminal的体验更友好一些。
macOS 自带的 Zsh 虽然强大,但默认配置极其简陋,而 Oh My Zsh 不仅是一个框架,更是一个庞大的插件与主题生态。
自动补全
在使用终端时,我安装了 zsh-autosuggestions 插件,它会根据历史记录提供“灰色虚影”预测。
- 安装命令:
git clone https://github.com/zsh-users/zsh-autosuggestions
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- 体验感:当你刚打出
gi,终端已经帮你补全了那串复杂的git clone命令。配合向右方向键→,会提升效率。 - 配置方式:编辑
~/.zshrc,在plugins=(...)数组中添加zsh-autosuggestions。
使用 VS Code 替代 Nano
在 macOS 上,直接使用以下命令打开配置文件:
code ~/.zshrc
如果命令不可用,在 VS Code 中按下 Cmd + Shift + P,搜索并执行 Shell Command: Install 'code' command in PATH。
换用 Ghostty 终端
我从传统的 Terminal.app 迁移到了 Ghostty。这是一个基于 GPU 加速、由 Zig 编写的现代终端。
安装方法:使用 Homebrew 安装
brew install --cask ghostty。配置文件路径:配置文件位于
~/.config/ghostty/config
- 关键参数配置:
font-family = "JetBrains Mono"
font-size = 14
theme = "Catppuccin Mocha"
background-opacity = 0.85
background-blur-radius = 20
cursor-style = bar
cursor-style-blink = true
window-decoration = true
引入 Starship 提示符
为了进一步增强状态显示,我集成了 Starship。它能实时显示 Git 状态、执行耗时和工具版本。
- 安装与初始化: 安装命令为
brew install starship
在 ~/.zshrc 末尾添加初始化脚本
eval "$(starship init zsh)"
预设样式应用:
使用以下命令应用彩色色块预设:
starship preset pastel-powerline -o ~/.config/starship.toml
用 Powerlevel10k 优化启动
虽然使用了 Starship 改变外观,但底层的 Zsh 主题依然保持 Powerlevel10k 以利用其性能特性。
- Instant Prompt:在
~/.zshrc的最顶行加入
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
可消除初始化时的冗余输出警告。
- 环境路径管理:通过
export PATH="$HOME/.local/bin:$PATH"
确保所有 CLI 工具路径正确。
高亮语法
最后一项配置是 zsh-syntax-highlighting。它可以实时检测你输入的命令。
- 安装命令:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
配置方式:在
~/.zshrc的plugins列表中加入zsh-syntax-highlighting。功能:
- 绿色:命令合法。
- 红色:命令拼错,提示及时修正。
我的zshrc
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(git zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
export PATH="$HOME/.local/bin:$PATH"
eval "$(starship init zsh)"