Zsh Cheatsheet - Shell Configuration

让终端更高效的 Zsh 配置命令都在这里了,从插件管理到提示符定制,按场景分类整理,直接复制配置。

SysOps·37 commands·Last updated 2026-07-21
Back to SysOps

基础配置 5

chsh -s $(which zsh)
切换默认 Shell 为 zsh
source ~/.zshrc
重新加载配置
echo $SHELL
查看当前 Shell
setopt AUTO_CD
输入目录名即可 cd,无需写 cd
setopt CORRECT
命令拼写错误时提示纠正

变量与数组 6

NAME="value"
定义变量(等号两边不能有空格)
arr=(a b c)
定义数组(zsh 下标从 1 开始)
echo $arr[1]
访问数组第一个元素
echo ${arr[@]}
访问数组所有元素
${#arr[@]}
获取数组长度
typeset -A dict\ndict[key]=value
定义关联数组(哈希表)

通配与扩展 6

**/*.js
递归匹配所有子目录的 .js 文件
*.{js,ts}
花括号扩展,匹配多种后缀
*(.)
只匹配普通文件(glob 限定符)
*(/)
只匹配目录
*(om[1])
最新修改的一个文件
=ls
等号扩展为命令的完整路径

历史与搜索 6

HISTSIZE=10000 / SAVEHIST=10000
内存与文件历史条数
setopt SHARE_HISTORY
多终端实时共享历史
Ctrl+R
反向增量搜索历史命令
!!
执行上一条命令(sudo !! 最常用)
!$
上一条命令的最后一个参数
history -i | tail
带时间戳查看历史

函数与补全 4

function name() { ... }
定义函数
alias ll="ls -la"
设置别名
autoload -Uz compinit && compinit
初始化补全系统
compdef _git g=git
为别名 g 复用 git 的补全

提示符定制 5

PROMPT='%n@%m %~ %# '
用户名@主机 路径 提示符
%n / %m / %M
用户名 / 短主机名 / 完整主机名
%~ / %d
当前目录(~ 缩写)/ 绝对路径
RPROMPT="%T"
右侧提示符显示当前时间
%T / %D / %W
24 小时时间 / 年月日 / 月日年

oh-my-zsh 与插件 5

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
启用插件列表
ZSH_THEME="robbyrussell"
设置主题(random 随机切换)
zsh-autosuggestions
自动建议补全,按 -> 接受
zsh-syntax-highlighting
命令语法高亮(红表示错误)
extract file.tar.gz
extract 插件自动识别格式解压

💡 Tips

  • oh-my-zsh 安装:sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • zsh-autosuggestions 需要单独安装插件,推荐用 git clone 到 $ZSH_CUSTOM/plugins/。
  • setopt AUTO_CD 可以直接输入目录名 cd 进去,不用写 cd 命令。
  • 让上下箭头按前缀搜索历史:bindkey 加 history-search-backward/forward。
  • zsh 数组下标从 1 开始(与 bash 从 0 开始不同),迁移脚本时要注意。
  • ZDOTDIR 环境变量可改变 zsh 配置文件目录,便于多套配置隔离。