如何通过转义码设置 iTerm2 会话标题?

问题描述 投票:0回答:3

徽章上的 iTerm2 页面提到可以使用转义码更改 session.name,但有点神秘地描述了该方法:

会话名称

当前会话的名称。默认为配置文件名称。可以通过转义序列 OSC 1 进行更改;命名 ST,或通过在 View>Edit Current Session 中编辑会话标题。

如果您进一步查看页面下方描述如何更改徽章的代码,我们会看到一种 Rosetta Store:

徽章本身可以设置以下转义序列:

OSC 1337 ; SetBadgeFormat=Base-64 encoded badge format ST

这是一个在 bash 中运行的示例:

 # Set badge to show the current session name and git branch, if any is set.
 printf "\e]1337;SetBadgeFormat=%s\a" \
 $(echo -n "\(session.name) \(user.gitBranch)" | base64)

我们可以由此推断“OSC”代表“]”,“ST”代表“”。但即使有了这些信息,也没有任何作用:

printf "\e]1;%s\a" "New Title"
echo -en "\e]1;New Title\a"

(如果您知道如何设置选项卡标题,我也很感兴趣!但我没有看到任何迹象表明可以通过转义码来做到这一点。)

shell iterm2 iterm
3个回答
0
投票

iTerm OSC 1337 专有代码以 ^G(BEL 或 ASCII 7)结尾。文档可能已损坏。尝试在最后添加一个。


0
投票

从命令行,您可以回显转义字符,例如

echo -e "\033\];new title\a"

这将导致选项卡标题更改,例如:

这适用于 iterm2,Build 3.4.19


0
投票

名称有两种类型:图标名称和窗口标题。图标名称是标题栏上的图标名称,图标名称是选项卡上的图标名称。根据您的喜好设置它们。

请参阅 Thomas Dickey 的转义序列页面此处,您可以

您可以在 iTerm2 中使用

echo -en '\e]1;TITLEHERE\e\\'

© www.soinside.com 2019 - 2024. All rights reserved.