zsh 补全菜单可通过原生配置优化:启用颜色高亮与菜单模式、绑定方向键导航、禁用耗时补全源、设置居中显示及提示,提升可读性、响应速度与操作效率。
macos 的 zsh 补全菜单默认用 tab 键循环选择,方向键不生效,选中项也不高亮,面对几十个分支或命令参数时容易看花眼、按错。优化核心是让补全列表更清晰、导航更顺手、响应更直观——不靠第三方工具,纯 zsh 原生能力就能做到。
启用补全菜单的视觉高亮与滚动导航
zsh 默认补全列表是纯文本堆叠,没有颜色区分和滚动提示。加上这两行配置,列表立刻可读性大增:
- 在 ~/.zshrc 中
compinit后添加:
zstyle ':completion:*' menu select=1
第一行复用系统文件类型颜色(需已安装 coreutils 或确保 LS_COLORS 已加载),第二行开启菜单模式:按 Tab 可上下滚动,当前高亮项带反色背景,再按 Enter 确认。
用方向键操作补全菜单(替代纯 Tab 循环)
只靠 Tab 切换效率低,尤其补全项多时。把方向键绑定到菜单控制,体验接近 GUI 下拉框:
- 在 ~/.zshrc 底部添加:
bindkey -M menuselect '^[[B' vi-down-line-or-history
bindkey -M menuselect '^[[D' vi-backward-char
bindkey -M menuselect '^[[C' vi-forward-char
其中 ^[[A 是上箭头转义序列(实际输入可用 Ctrl+V + 上箭头获取)。这样进入补全菜单后,直接用方向键移动、左右键微调光标,Enter 或 Ctrl+J 确认。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
缩短补全延迟 & 避免卡顿
补全列表一卡顿,整个流程就断掉。常见卡点是 Git 分支补全慢、远程仓库名拉取耗时:
- 禁用耗时补全源(如 Git 远程分支):
zstyle ':completion:*:git-push:*' ignore-parents parent directory
- 对 Git 本地分支补全提速(只列当前 repo 分支,不查远程):
保存后运行 source ~/.zshrc,再试 git checkout <tab></tab>,响应明显更快。
让补全菜单自动居中显示(提升可视焦点)
长路径或命令参数补全时,菜单常贴边显示,眼睛要来回扫。加一行让它“浮”在终端中间:
- 在 ~/.zshrc 中加入:
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
zstyle ':completion:*' select-prompt '%SScrolling active: current selection %p%s'
配合 menu select=1,补全菜单会自动居中、带提示文字、滚动时有状态反馈,大幅降低视觉负担。










