我在 Mac OS X 上运行 iTerms zsh
。根据我的工作流程,我必须在选项卡之间频繁切换,有时我不得不花太多时间才能找到我要找的选项卡,因为它们都有相同的名称。
正如您从上面的屏幕截图中看到的。现在,这对我来说非常有用,至少可以显示Tab
Title
当前工作目录,而不是Job name
iTerms 中的zsh
我查看了首选项,没有这个选项。只有CWD
当作业未运行时才会显示,但一旦作业运行,就会显示作业名称。
答案1
检查钩子函数precmd
和preexec
以及which precmd
,which preexec
分别:
前置命令 每次提示前执行。(...)
预执行 在读取命令并即将执行之后立即执行。(...)将要执行的实际命令(包括扩展别名)以两种不同的形式传递:第二个参数是单行、大小受限的命令版本(省略了函数体等内容);第三个参数包含正在执行的全文。
可能有preexec
一些代码将选项卡标题更改为$2
或$3
。
作为第一次测试,您可以完全禁用两个挂钩函数(precmd() {}
,preexec() {}
),手动设置标题(echo -ne "\e]1;TEST\a"
)并检查执行命令时它是否仍然存在。
然后尝试找到原始设置的来源,可以在您的个人 RC 文件 ( ~/.zshrc
) 中,也可以在系统范围的文件中 ( /etc/zsh*
) 。
如果成功,您可以考虑一个合理的标签标题并按照@Tiago 的建议执行echo
命令。precmd
答案2
编辑 zsh 配置文件以设置标题前置命令()功能例如$PWD
。
echo -ne "\e]1;$PWD\a"