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


14

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

我的问题是类似的,我想更改终端的标题,我使用的是基于Debian的发行版,终结者和ZSH,oh-my-zsh的标题适合bash,但是当我移至ZSH时,它显示/bin/zsh为标题。


@DaniëlW.Crompton真的吗?是骗子吗?如果是这样,我现在将其关闭,我链接到该问题,所以我知道它存在,但不知道这是一个骗子,因为我使用的是不同的操作系统和仿真器
Lynob 2013年

您是否尝试了所链接问题的建议?
丹尼尔W.康普顿

2
@DaniëlW.Crompton是,echo -ne "\e]1;this is the title\aecho -ne "\e]1;$PWD\a"但不给错误不工作,我尝试了所有取消选中,除非即时失去了一些东西
Lynob

1
您是否尝试用0而不是1回显-ne“ \ e] 0; $ PWD \ a”?
丹尼尔W.康普顿

Answers:


13

您可以使用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

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

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

2
我前面说过echo -ne "\e]0;$PWD\a"的作品,但是当我退出外壳,它停止工作......我想你的答案类型的,我得zsh: command not found: stringazsh: command not found: e]1等等,所有这些
Lynob

1
更新了答案
丹尼尔·W·康普顿

~我使用的precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Z shell)替换$ PWD中的主目录
Maksym Ganenko '18

13

下面的工作对我来说是重命名gnome-terminal中的每个选项卡。我将以下代码添加到了〜/ .zshrc文件中。

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

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

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

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE =“ true”帮了我大忙。谢谢。
Rakesh Gopal

4

无论使用哪种外壳,这都应该起作用:

printf "\033];%s\07\n" "hello world"

2

较早的答案对我而言并不奏效。并非没有一些打ic(并非总是刷新)。可能是由于我有ZSH而没有oh-my-zsh。幸运的是,我了解到chpwd,所以:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd 每次目录更改时都会被调用。
  2. 第一次启动xterm(或其他)时,这不会算作目录更改,因此直接将chpwd调用 .zshrc

因为我不使用oh-my-zsh,所以我不知道它是否在那里工作,但是除非它们已被更改并覆盖chpwd(在这种情况下,您将覆盖它们的overwrite:D),否则应该这样做。


-1

好吧,您可以创建一个脚本,打开一个窗口并将名称设置为所需的名称。执行脚本以显示带有您的名称的窗口。您还可以设置窗口的X,Y位置和大小。您可以创建多个窗口,并为每种情况命名窗口。


//,还有什么更具体的内容吗?
Nathan Basanese

自从我编写这些脚本以来已有12年了。我不想提供错误的信息,但我认为所有这些操作都是使用xterm的选项完成的。有关更多信息,请查看MAN页面以获取xterm。我可能在某些地方放了这些脚本,但是Harvey将我所有的旧磁盘留在了一大堆中,然后将它们丢弃了,以免受到伤害。维修完成后,我也许可以进行更新。
悬崖2310年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.