直接修改 ~/.zshrc 中的 histsize 和 savehist 变量即可控制命令历史数量,分别设定内存与文件中保存的条数,并配合 inc_append_history、share_history 等选项实现即时同步与跨终端共享。
直接改 ~/.zshrc 里的 histsize 和 savehist 就行,这两个变量分别控制内存中保留多少条、写入文件时保留多少条。
设置历史条数上限
在 ~/.zshrc 文件里添加或修改这两行:
- HISTSIZE=10000:当前终端会话中最多记住 10000 条命令(内存中)
-
SAVEHIST=10000:退出终端时,最多往
~/.zsh_history文件里写 10000 条
数值可按需调大,比如设成 50000 或 100000。注意别设得过大,否则历史文件可能变慢或占用明显空间。
让历史记录真正持久生效
光改数量不够,还得确保命令能及时落盘。推荐加上这几项:
- export HISTFILE=~/.zsh_history:明确指定历史文件路径(默认就是这个,但显式写上更稳妥)
- setopt INC_APPEND_HISTORY:每执行一条命令就立刻追加到历史文件,不等退出
- setopt SHARE_HISTORY:多个终端窗口之间共享历史(新开窗口也能看到刚在另一个窗口输的命令)
- setopt HIST_IGNORE_DUPS:连续重复命令只留一条
- setopt HIST_IGNORE_ALL_DUPS:整个历史里相同命令只留最后一次
应用配置并验证
保存 ~/.zshrc 后,运行:
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
source ~/.zshrc
然后检查是否生效:
-
echo $HISTSIZE→ 应输出你设的值 -
echo $SAVEHIST→ 应输出你设的值 -
ls -lh ~/.zsh_history→ 看文件大小是否随使用缓慢增长
额外提示:清空或重置历史
如果想从头开始:
- 运行
history -c清空当前会话缓存 - 删掉历史文件:
rm ~/.zsh_history - 再关掉所有终端窗口,重新打开——历史就干净了










