zsh-autosuggestions
为 zsh 提供类似 Fish 的快速、无干扰自动建议插件。它根据历史记录与补全引擎在你输入时以灰色提示后续命令,按右方向键或 End 即可采纳,显著提升终端输入效率。
爱鲜报评分
0.0
0 人评分
36k
星数
否
中文
Shell
主语言
是
活跃
60
贡献者
人工分析
EDITORIAL推荐理由
这是 zsh 生态中装机量极高的必备插件,Star 数超过 3.6 万,社区验证充分。它基于历史与补全策略给出建议,响应快、干扰小,几乎不改变原有操作习惯。配置项丰富,可按需调整高亮样式、建议策略与快捷键,适合所有长期使用终端的开发者。
适用场景
- 日常终端命令输入加速
- 重复性运维/部署命令快速复用
- Oh My Zsh 或原生 zsh 环境增强
- 多项目开发时快速切换常用命令
- 教学演示中展示命令补全效果
优点
- 安装配置简单,兼容 Oh My Zsh 等主流框架
- 建议基于历史与补全,命中率高且响应迅速
- 支持异步获取建议,几乎无输入延迟
- 高亮样式、建议策略、快捷键均可自定义
- MIT 协议,社区活跃、文档完善
缺点
- 仅支持 zsh,不适用于 bash/fish 等其他 shell
- 需 zsh 4.3.11 及以上版本
- 部分终端(如 iTerm2)需调整配色才能看清建议
- 异步模式在旧版 zsh 中存在 Ctrl+C 重置问题
上手难度
入门
项目简介
zsh-autosuggestions 是一款为 zsh 提供类似 Fish 自动建议能力的插件。当你输入命令时,它会在光标后以灰色显示一条建议,内容来自命令历史或补全引擎。
- 按
→或End采纳整条建议 - 按
forward-word对应的快捷键可部分采纳 - 建议不会打断输入,只是“提示”
安装与启用
项目在仓库的 INSTALL.md 中给出了多种安装方式(如手动克隆、包管理器、Oh My Zsh 插件等)。核心步骤通常是:把插件放入 zsh 可加载的目录,然后在 ~/.zshrc 中 source 插件脚本。
# 示意:在 ~/.zshrc 中加载插件(具体路径以你的安装方式为准)
source /path/to/zsh-autosuggestions/zsh-autosuggestions.zsh
使用 Oh My Zsh 时,可将插件加入
plugins=(...)列表,并把自定义配置放到$ZSH_CUSTOM目录。
常用配置
高亮样式
通过 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE 调整建议文字的颜色与样式,默认 fg=8:
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline"
建议策略
ZSH_AUTOSUGGEST_STRATEGY 是一个数组,按顺序尝试不同策略:
history:取历史中最近匹配项completion:基于 Tab 补全结果(依赖zpty模块)match_prev_cmd:优先匹配“上一条命令相同”的历史项
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
其他实用选项
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE:超过指定长度不再建议,适合粘贴大段文本ZSH_AUTOSUGGEST_HISTORY_IGNORE:用 glob 模式忽略某些历史建议,如"cd *"ZSH_AUTOSUGGEST_COMPLETION_IGNORE:对匹配模式的内容跳过补全建议ZSH_AUTOSUGGEST_MANUAL_REBIND:关闭自动重绑定以提升性能
快捷键绑定
插件提供若干 widget,可用 bindkey 绑定:
| Widget | 作用 |
|---|---|
autosuggest-accept |
采纳当前建议 |
autosuggest-execute |
采纳并执行 |
autosuggest-clear |
清除建议 |
autosuggest-fetch |
主动获取建议 |
autosuggest-toggle |
开关建议 |
bindkey '^ ' autosuggest-accept
注意事项
- 仅适用于 zsh(要求 v4.3.11+)
- 部分 iTerm2 用户需确保背景色与 Bright Black 颜色不同,否则建议不可见
- 旧版 zsh(< 5.0.8)异步模式存在 Ctrl+C 重置问题,可改用同步模式
评论
- 暂无评论,来写第一条吧。