教程:在 Windows 终端中配置选项卡标题

默认情况下,选项卡标题设置为 shell 的标题。 如果选项卡由多个窗格组成,选项卡的标题将设置为当前焦点窗格的标题。 如果要自定义设置为选项卡标题的内容,请按照本教程作。

本教程中,您将学习如何:

  • 使用 tabTitle 设置
  • 设置命令行的标题
  • 使用suppressApplicationTitle设置

请使用 tabTitle 设置

tabTitle 设置允许为 shell 的新实例定义起始标题。 如果未设置,则改用配置文件 name 。 每个 shell 以不同的方式响应此设置。

行为
PowerShell 标题已设置。
命令提示符 标题已设置。 如果命令正在运行,则会将其暂时追加到标题的末尾。
Ubuntu 将忽略标题,而是设置为 user@machine:path
Debian 标题已设置。

注释

尽管 Ubuntu 和 Debian 都运行 bash,但它们具有不同的行为。 这是为了表明不同的分布可能有不同的行为。

设置 shell 的标题

shell 完全控制其自身的标题。 但是,每个 shell 都以不同的方式设置其标题。

Command
PowerShell $Host.UI.RawUI.WindowTitle = "New Title"
命令提示符 TITLE New Title
bash* echo -ne "\033]0;New Title\a"

请注意,某些 Linux 分发版(例如 Ubuntu)会在与 shell 交互时自动设置其标题。 如果上述命令不起作用,请运行以下命令:

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 变量,则它可能与选项卡的标题不同。

资源