教程:在 Windows 终端中配置选项卡标题
默认情况下,选项卡标题设置为 shell 的标题。 如果选项卡由多个窗格组成,则会将该选项卡的标题设置为当前焦点窗格的标题。 如果要对设置为选项卡标题的内容进行自定义,请按照本教程的说明操作。
在本教程中,你将了解如何执行以下操作:
- 使用
tabTitle
设置 - 设置 shell 的标题
- 使用
suppressApplicationTitle
设置
使用 tabTitle
设置
tabTitle
设置允许定义 shell 的新实例的起始标题。 如果未设置,则改为使用配置文件 name
。 每个 shell 以不同的方式响应此设置。
Shell | 行为 |
---|---|
PowerShell | 标题已设置。 |
命令提示符 | 标题已设置。 如果命令正在运行,它将暂时追加到标题的末尾。 |
Ubuntu | 标题会被忽略,但设置为 user@machine:path |
Debian | 标题已设置。 |
注意
尽管 Ubuntu 和 Debian 都运行 bash,但它们具有不同的行为。 这是为了表明不同的分发可能具有不同的行为。
设置 shell 的标题
Shell 可以完全控制自己的标题。 但是,每个 shell 以不同的方式设置其标题。
Shell | 命令 |
---|---|
PowerShell | $Host.UI.RawUI.WindowTitle = "New Title" |
命令提示符 | TITLE New Title |
bash* | echo -ne "\033]0;New Title\a" |
请注意,在与 shell 交互时,某些 Linux 分发版(如 Ubuntu)会自动设置其标题。 如果上面的命令不起作用,请运行以下命令:
export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
echo -ne '\033]0;New Title\a'
这会将标题更改为“新标题”。
为便于访问,请将其添加到 ~/.bashrc
的末尾:
settitle () {
export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
echo -ne '\033]0;'"$1"'\a'
}
重新打开 shell 后,现在便可以随时使用以下命令更改 shell 的标题:
settitle 'New Title'
使用 suppressApplicationTitle
设置
由于 shell 可以控制其标题,因此它可以随时选择覆盖选项卡标题。 例如,PowerShell 的 posh-git
模块将有关 Git 存储库的信息添加到标题中。
Windows 终端允许在配置文件中将 suppressApplicationTitle
设置为 true
来禁止对标题进行更改。 这会使配置文件的新实例将可见标题设置为 tabTitle
。 如果未设置 tabTitle
,则会将可见标题设置为配置文件的 name
。
请注意,这会将 shell 的标题与选项卡上显示的可见标题分离开来。如果在设置了标题的位置读取 shell 的变量,则它可能与选项卡的标题不同。