MacOS终端替代工具 iTerm2 安装与常用配置
iTerm2 是 iTerm 的后继者,也是 Terminal 的替代者。这是一款用于 macOS 的终端模拟器,支持窗口分割、热键、搜索、自动补齐、无鼠标复制、历史粘贴、即时重播等功能特性,适用于 MacOS 10.10 及以上版本。
安装 iTerm2
使用 homebrew 安装:
brew install --cask iterm2iTerm2 常用配置
窗口分割
Cmd + D:垂直分割窗口Cmd + Shift + D:水平分割窗口Cmd + Option + 方向键:在分割窗口之间切换
无鼠标复制
Preferences → General → Selection,勾选 Copy to pasteboard on selection,选中即自动复制,无需 Cmd+C。
即时重播
Cmd + Option + B 打开即时重播,可回放终端输出内容。
历史粘贴
Cmd + Shift + H 打开历史粘贴列表,可快速选择之前复制过的内容进行粘贴。
搜索
Cmd + F:搜索终端内容Cmd + G:跳转到下一个匹配项Cmd + Shift + G:跳转到上一个匹配项
全局热键窗口
Preferences → Keys → Hotkey,可设置全局呼出快捷键,在任意应用中按下即可快速调出终端窗口。
配色方案
Preferences → Profiles → Colors → Color Presets,可选择或导入配色方案(如 Solarized、Dracula 等)。
字体设置
建议安装 Nerd Fonts 字体(如 Meslo Nerd Font),避免终端出现图标乱码:
brew install --cask font-meslo-lg-nerd-font然后在 Preferences → Profiles → Text → Font 中设置字体。
安装oh-my-zsh
执行安装命令:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"提示
raw.githubusercontent.com国内被墙,执行安装命令时,需要科学上网,如何操作自行百度。
主题配色
# 编辑配置文件
vi ~/.zshrc
# 设置主题配色选项
ZSH_THEME="bira"推荐主题 powerlevel10k
如需更现代、信息更丰富的主题,推荐使用 powerlevel10k(需配合上文的 Nerd Fonts 字体使用):
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k然后在 .zshrc 中设置:
ZSH_THEME="powerlevel10k/powerlevel10k"重新加载配置后,运行 p10k configure 即可按向导完成个性化配置。
插件 - 终端代码提示
$ZSH_CUSTOM是 oh-my-zsh 自定义插件的安装目录,默认指向~/.oh-my-zsh/custom。
拉取代码
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions更改ZSH配置文件 .zshrc 修改 plugins 参数
plugins=(zsh-autosuggestions git)使用 homebrew 安装 zsh-syntax-highlighting 插件:
brew install zsh-syntax-highlighting更改ZSH配置文件
# 英特尔芯片
echo 'source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc
# 苹果m系列芯片
echo 'source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc重载zshrc,使配置生效
source ~/.zshrc
zsh-syntax-highlighting 官方要求最后加载(必须位于
compinit及所有zle -N之后),因此追加到.zshrc的source行应保持为文件最后一行。后续新增插件的配置(如 zoxide 的eval、fzf-tab 的配置)都必须写在它之前。
更多推荐插件
以下插件按实用性推荐,前三个为 oh-my-zsh 内置插件,零依赖、零成本。
内置插件(修改 .zshrc 的 plugins 参数即可启用)
plugins=(zsh-autosuggestions git z extract sudo colored-man-pages)| 插件 | 作用 |
|---|---|
z | 根据历史访问频率快速跳转目录,如 z doc |
extract | 一个 x 命令解压任意格式压缩包 |
sudo | 双击 Esc 为当前命令自动添加 sudo |
colored-man-pages | man 手册页彩色高亮显示 |
history-substring-search - 历史命令模糊搜索
安装:
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search配置:
# 添加到 plugins 数组
plugins=(... zsh-history-substring-search)
# 绑定按键:输入内容后按上下方向键匹配历史命令
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-downfzf - 模糊搜索神器
安装:
brew install fzf
# 按提示执行初始化脚本(可选)
$(brew --prefix)/opt/fzf/install配置:
# 在 .zshrc 中添加
plugins=(... fzf)配合 Ctrl + R 搜索历史命令、Ctrl + T 补全文件路径。如需补全增强,再安装 fzf-tab:
git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tabzoxide - 更智能的目录跳转
z 的现代替代品,支持模糊匹配和交互选择:
brew install zoxide配置:
# 在 .zshrc 中添加
eval "$(zoxide init zsh)"安装后使用 z 命令跳转目录,效果比内置 z 插件更智能(两者二选一即可)。
注意:
eval行不要追加到.zshrc末尾,应放在 zsh-syntax-highlighting 的source行之前(可用编辑器插入),避免破坏其"最后加载"的顺序要求。
you-should-use - 别名提示
当你使用了已配置全局别名的命令时,自动提示你改用别名:
git clone https://github.com/MichaelAquilina/zsh-you-should-use ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/you-should-useplugins=(... you-should-use)zsh-vi-mode - 终端 vi 键位
Vim 用户强烈推荐,在终端中使用 vi 编辑模式:
git clone https://github.com/jeffreytse/zsh-vi-mode ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-vi-modeplugins=(... zsh-vi-mode)最简推荐组合
在现有 zsh-autosuggestions + zsh-syntax-highlighting 基础上,建议追加:z、extract、sudo 三个内置插件,再加一个 fzf 即可获得完整效率提升。
安装以上全部插件后,最终 .zshrc 的 plugins 数组参考(zsh-syntax-highlighting 通过 source 加载、不在数组中):
plugins=(git zsh-autosuggestions z extract sudo colored-man-pages fzf zsh-history-substring-search you-should-use)常用配置
# 设置一些常用命令的快捷别名
alias vz="vim ~/.zshrc"
alias sz="source ~/.zshrc"
# 因为mac默认不区分大小写,为了和生产环境一致,所以新建了一个区分大小写的磁盘
alias cw="cd /Volumes/www/"
# 使用 vscode 快速打开文件【要提前安装vscode软件】
alias vs="/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"
# 用 vscode 打开 zshrc 文件
alias vsz="vs ~/.zshrc"
# 使用 trae 快速打开文件【要提前安装 trae 软件】
alias t="/Applications/Trae CN.app/Contents/Resources/app/bin/trae-cn"
alias tz="t ~/.zshrc"
# 引入一些执行文件
export PATH="/执行文件所在目录/bin:$PATH"
# PHP路径【Intel芯片】
export PATH="/usr/local/Cellar/php路径/bin:$PATH"
export PATH="/usr/local/Cellar/php路径/sbin:$PATH"
# PHP路径【Apple芯片】
export PATH="/opt/homebrew/opt/php路径/bin:$PATH"
export PATH="/opt/homebrew/opt/php路径/sbin:$PATH"一健安装脚本
#!/usr/bin/env bash
# ============================================================
# macOS iTerm2 + zsh + oh-my-zsh 一键安装配置脚本
# 参考文档: docs/system/macos/iterm2-zsh.md
# 用法: bash install-zsh-env.sh
# ============================================================
set -e
# ---------- 检测芯片架构 ----------
if [[ "$(uname -m)" == "arm64" ]]; then
ARCH="Apple芯片"
HIGHLIGHT_SOURCE="/opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
else
ARCH="Intel芯片"
HIGHLIGHT_SOURCE="/usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
fi
echo ">>> 检测到 $ARCH"
# ---------- 检查 Homebrew ----------
if ! command -v brew >/dev/null 2>&1; then
echo "!!! 未检测到 Homebrew,请先安装(见 docs/system/macos/brew.md)"
exit 1
fi
# ---------- 备份原配置 ----------
if [[ -f ~/.zshrc ]]; then
cp ~/.zshrc ~/.zshrc.bak.$(date +%Y%m%d%H%M%S)
echo ">>> 已备份原 ~/.zshrc"
fi
# ---------- 安装 oh-my-zsh ----------
if [[ ! -d ~/.oh-my-zsh ]]; then
echo ">>> 安装 oh-my-zsh ..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
else
echo ">>> oh-my-zsh 已安装,跳过"
fi
ZSH_CUSTOM="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}"
# ---------- 安装插件 ----------
install_plugin() { # $1=Git仓库地址 $2=目录名
if [[ ! -d "$ZSH_CUSTOM/plugins/$2" ]]; then
echo ">>> 安装插件 $2 ..."
git clone --depth=1 "$1" "$ZSH_CUSTOM/plugins/$2"
else
echo ">>> 插件 $2 已安装,跳过"
fi
}
install_plugin https://github.com/zsh-users/zsh-autosuggestions zsh-autosuggestions
install_plugin https://github.com/zsh-users/zsh-history-substring-search zsh-history-substring-search
install_plugin https://github.com/MichaelAquilina/zsh-you-should-use you-should-use
# zsh-syntax-highlighting(优先用 brew 安装,需最后加载)
if ! brew list zsh-syntax-highlighting >/dev/null 2>&1; then
echo ">>> brew 安装 zsh-syntax-highlighting ..."
brew install zsh-syntax-highlighting
fi
# ---------- 安装外部工具 ----------
brew install fzf zoxide
# ---------- 主题选择 ----------
echo ""
read -p "选择主题 [1] bira(默认) [2] powerlevel10k(推荐): " theme_choice
case "$theme_choice" in
2) THEME="powerlevel10k/powerlevel10k" ;;
*) THEME="bira" ;;
esac
# ---------- 生成 .zshrc ----------
echo ">>> 生成 ~/.zshrc ..."
cat > ~/.zshrc <<'ZSHRC'
# ============================================================
# ~/.zshrc 由一键安装脚本生成
# 手动修改后运行 sz 或 source ~/.zshrc 生效
# ============================================================
# 主题
ZSH_THEME="__THEME__"
# 插件(zsh-syntax-highlighting 通过 source 加载,不在列表中)
plugins=(
git
zsh-autosuggestions
z
extract
sudo
colored-man-pages
fzf
zsh-history-substring-search
you-should-use
)
# oh-my-zsh 初始化(必须)
source $ZSH/oh-my-zsh.sh
# ---------- 常用别名 ----------
alias vz="vim ~/.zshrc"
alias sz="source ~/.zshrc"
# 因为mac默认不区分大小写,为了和生产环境一致,所以新建了一个区分大小写的磁盘
alias cw="cd /Volumes/www/"
alias vs="/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"
alias vsz="vs ~/.zshrc"
alias t="/Applications/Trae CN.app/Contents/Resources/app/bin/trae-cn"
alias tz="t ~/.zshrc"
# ---------- PHP 路径(Apple芯片示例,Intel见文档)----------
# export PATH="/opt/homebrew/opt/php路径/bin:$PATH"
# export PATH="/opt/homebrew/opt/php路径/sbin:$PATH"
# ---------- 历史命令模糊搜索 ----------
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# ---------- zoxide(必须在 syntax-highlighting 之前)----------
eval "$(zoxide init zsh)"
# ---------- powerlevel10k 个性化配置(文件不存在时自动跳过)----------
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
ZSHRC
# 替换主题占位符(用 | 作为分隔符避免路径斜杠冲突)
sed -i '' "s|__THEME__|$THEME|" ~/.zshrc
# ---------- 追加 zsh-syntax-highlighting(必须最后加载)----------
echo "source $HIGHLIGHT_SOURCE" >> ~/.zshrc
# ---------- 完成提示 ----------
echo ""
echo "=========================================="
echo "安装完成!"
echo "请执行: source ~/.zshrc"
if [[ "$theme_choice" == "2" ]]; then
echo "再执行: p10k configure 完成主题个性化配置"
fi
echo "=========================================="