我正在逐渐从Bash转换到ZSH,并尝试通过复制功能来学习。但似乎找不到这个功能。
我应该放什么,放在哪里?这是否可能?谢谢。
试试这个:
settitle() { printf "\e]0;$@\a" }
dir_in_title() { settitle $PWD }
chpwd_functions=(dir_in_title)
cd
命令将运行dir_in_title
函数,该函数将打印一个转义序列,要求Terminal.app
更新标题。(奇怪的是,使用的转义序列也适用于urxvt
,至少如此。这些必须比我预期的更加规范。)~/.zshrc
中,以便它在未来终端中起作用。我定义了此函数。需要一些Python知识并且有点啰嗦,但我知道在那里发生了什么。
如果不查Google,我不知道为什么sarnold的printf "\e]0;$@\a"
可以按预期工作。
function current_directory()
{
echo $(python3 -c "from pathlib import Path; print(Path('.').absolute().name)")
}
bash
下的shell提示符设置 -- 在bash
下,您从echo $PS1
获得什么输出? - sarnoldzsh
提供了一个chpwd_functions
数组,它比使用基于PS1
或precmd
的转义序列要好得多。我希望PS1
可以有设置窗口标题的Terminal.app
转义序列。也许在PROMPT_COMMAND
中可以找到? - sarnold