Mac iTerm2按⌘+K清屏时保留完整多行提示符的设置问题问询
问题核心原因
iTerm2默认清屏(⌘+K)时仅会保留1行提示符,你的多行提示符需要手动调整保留行数配置。
可用解决方案
1. 调整iTerm2原生配置(无依赖,首选)
无需修改任何shell配置,直接调整iTerm2内置的隐藏设置即可:
- 打开iTerm2偏好设置(快捷键
⌘+,),切换到「Advanced」标签页 - 在顶部搜索框输入关键词
prompt to preserve,找到配置项 Number of lines of prompt to preserve on clear - 将默认值
1修改为2(匹配你的两行提示符结构),重启iTerm2后生效
2. 校验zsh提示符配置(上述方案不生效时排查)
如果修改iTerm2配置后仍然无效,需要确认你~/.zshrc中的提示符定义格式符合zsh规范:
- 提示符的两行之间必须使用显式的
\n换行,无颜色的参考配置如下:
PROMPT='╭─%n %~ %(?..%? ↵) ╰─ '
- 如果你后续要给提示符加颜色,所有非打印的颜色控制码必须用
%{和%}包裹,避免zsh计算提示符行数时出错,示例:
PROMPT='╭─%{$fg[cyan]%}%n%{$reset_color%} %~ %(?..%? ↵) ╰─ '
旧Mac配置核对方向
如果还是存在差异,直接打开旧Mac的iTerm2高级配置,搜索上述prompt to preserve选项,确认其配置值后直接同步到新Mac即可。也可以对比两台设备的zsh --version输出,排除zsh版本差异导致的识别异常。
内容的提问来源于stack exchange,提问作者Isaac Ressler
相关产品推荐
相关产品推荐

