如何在iTerm与oh-my-zsh中禁用行高亮效果?
如何在iTerm与oh-my-zsh中禁用行高亮效果?
嗨,我看你遇到的这个问题挺典型的,结合你说的「bash里正常、tmux里恢复正常」这些细节,应该是zsh内置的选中样式或者iTerm的渲染设置冲突导致的,给你几个实用的排查和解决方向:
先调整zsh的内置高亮配置
zsh本身有个zle_highlight参数专门控制行选中、光标等高亮样式,可能默认配置触发了这个蓝色框效果。你可以打开~/.zshrc文件,添加下面其中一行:- 彻底关闭所有zle高亮效果:
unset zle_highlight - 仅关闭选中区域的高亮:
zle_highlight=(region:)
添加后执行source ~/.zshrc让配置生效,看看蓝色框是不是消失了。
- 彻底关闭所有zle高亮效果:
检查iTerm的相关渲染设置
有时候iTerm的默认设置会和zsh的样式冲突,你可以打开iTerm偏好设置(按Command+,):- 进入「Profiles」->「Terminal」标签页,找「Selection」相关选项,看看是不是开启了「Dim inactive text」(变暗非选中文本)这类功能,把它关掉试试。
- 再去「Appearance」->「Window」标签,检查有没有和文本高亮、inactive文本渲染相关的设置,逐一调整验证。
排查oh-my-zsh插件冲突
虽然你换了主题没解决,但说不定是某个默认启用的oh-my-zsh插件在搞鬼。可以临时修改~/.zshrc里的plugins数组为空:plugins=(),然后执行source ~/.zshrc,如果问题消失了,再逐个添加插件排查是哪个插件导致的。试试修改终端环境变量
因为你提到tmux里一切正常,可能是终端类型识别的问题。你可以在~/.zshrc里添加一行export TERM=screen-256color(tmux默认用这个终端类型),然后source ~/.zshrc,看看能不能让zsh的渲染和tmux里保持一致。
备注:内容来源于stack exchange,提问作者Thai Tran
相关产品推荐
相关产品推荐

