如何在 Debian 上更改终结者标题终端标题 ZSH?

Lyn*_*nob 17 linux debian terminal zsh

我不知道我应该在这里还是在 unix.stackexchange.com 上提问,我在这里找到了这个问题

我的问题是类似的,我想更改终端的标题,我使用的是基于 Debian 的发行版、Terminator 和 ZSH,oh-my-zsh 标题对 bash 很好,但是当我移动到 ZSH 时,它显示/bin/zsh为标题。

Ste*_*eve 17

以下内容对我重命名 gnome-terminal 中的每个选项卡有用。我将以下代码添加到我的~/.zshrc文件中。

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }
Run Code Online (Sandbox Code Playgroud)

这将创建一个标题函数来重命名每个选项卡。

请注意,如果您使用的是oh-my-zsh,则需要禁用其自动标题命令。你可以通过在你的~/.zshrc文件中取消注释这一行来做到这一点:

DISABLE_AUTO_TITLE="true"
Run Code Online (Sandbox Code Playgroud)

  • DISABLE_AUTO_TITLE="true" 对我有用。谢谢你。 (6认同)

Dan*_*ton 15

您可以使用 xtem 转义序列设置窗口标题,在大多数实现中,第一个最有效:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string
Run Code Online (Sandbox Code Playgroud)

编辑: 以上只设置标题一次。要将 zsh 设置为始终在标题中显示刺痛,请将以下内容添加到您.zprofile的主目录中:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac
Run Code Online (Sandbox Code Playgroud)

  • 我之前说过 `echo -ne "\e]0;$PWD\a"` 有效,但是当我退出 shell 时,它停止工作......我试过你输入了答案,我得到了 `zsh: command not found: stringa ` 和 `zsh: command not found: e]1` 等等,所有这些 (2认同)

jll*_*gre 6

无论使用何种外壳,这都应该有效:

printf "\033];%s\07\n" "hello world"
Run Code Online (Sandbox Code Playgroud)