You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在xterm-kitty中使用zsh设置终端窗口标题并实现加粗

转义序列解析与终端标题加粗问题解决

一、原代码中转义序列的作用

  • \033]0;:这是操作系统命令(OSC)的起始标记,\033是ESC字符的八进制写法,]0指定要修改的是终端的窗口/标签页标题。
  • \007:这是响铃(BEL)字符的八进制写法,用来结束OSC命令,通知终端更新标题内容。

原代码里的precmd是zsh的钩子函数,每次执行命令前会自动触发,把终端标题替换成当前路径(${PWD/#$HOME/~}是把当前路径里的HOME目录替换成~)。

二、为什么标题加粗没生效?

你用的\e[1m(加粗开启)和\e[21m(加粗关闭)是终端内文本的ANSI格式控制序列,只能用来改变终端界面里输出文本的样式,和设置窗口标题的OSC协议不兼容。终端在处理标题内容时,会直接把这些序列当成普通字符显示,不会解析成样式指令。

三、实现终端标题加粗的方法

终端标题的样式通常是由终端本身的设置控制的,而非命令行转义序列,推荐以下两种方式:

  1. 直接修改终端偏好设置:
    • iTerm2:打开Profiles→Text,找到窗口标题的字体设置,勾选加粗选项。
    • GNOME Terminal:进入Preferences→Profiles→Appearance,调整标题字体为加粗样式。
    • Konsole:在Settings→Edit Current Profile→Appearance里设置标题字体的加粗属性。
  2. 特殊终端的扩展命令(仅少数支持):
    比如iTerm2支持OSC 1337扩展协议来设置标题样式,但这不是通用标准,写法复杂且只适用于iTerm2,不推荐作为通用方案。

内容的提问来源于stack exchange,提问作者Pragmatic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:55:26