我正逐渐从Bash切换到ZSH,并尝试通过复制功能来学习。似乎无法找到这一个。
我应该放什么,我应该把它放在哪里?这甚至可能吗?感谢。
答案 0 :(得分:10)
试试这个:
settitle() { printf "\e]0;$@\a" }
dir_in_title() { settitle $PWD }
chpwd_functions=(dir_in_title)
现在,您的cd
命令将运行dir_in_title
函数,该函数将打印一个转义序列,要求Terminal.app
更新标题。 (奇怪的是,使用至少在urxvt
中起作用的转义序列。这些必须比我预期的更标准化。)
如果您喜欢这种效果,则需要将这些行添加到~/.zshrc
,以便在未来的终端上使用。
我抓住了正确的转义序列from Chris Page on superuser和函数样式from my answer to similar but different question。 Chris Page gave his own answer on that question with details on OS X 10.7 that are drastically different。当你升级时,你可能会想要使用他的机制。
答案 1 :(得分:0)
我定义了这个函数。需要一些 Python 知识并且有点冗长,但我知道那里发生了什么。
没有谷歌搜索我不知道为什么 sarnold 的 printf "\e]0;$@\a"
会做它应该做的事情。
function current_directory()
{
echo $(python3 -c "from pathlib import Path; print(Path('.').absolute().name)")
}