如何解决如何将 zsh 的提示斜体化oh-my-zsh,iTerm2?
我想在 iTerm2 中使用 oh-my-zsh 为 zsh 将我的提示(特别是正确的提示/RPROMPT)斜体化,但到目前为止遇到了问题。我已经检查过终端可以使用 echo -e "\e[3mitalic\e[0m"
输出和查看斜体字体。
到目前为止我尝试过的事情:
HELLO = Hello
RPROMPT = '\e[3m $Hello \e[0m'`
并且输出仍然有 \e[3m
和 \e[0m
部分
-
从 an example 开始,我尝试使用
\x1b[3m
而不是\e[3m
:仍然输出\x1b[3m
和\x1b[0m
-
我找到了 this page,但我不明白我在看什么/我应该做什么。
我想让斜体格式正常工作,因此非常感谢任何帮助。
解决方法
根据 GrapeApple 的回答进一步测试后,我找到了一个不会乱左提示的解决方案。对于 zsh documentation,您需要使用字符串引号 %{ ... %}
来环绕转义序列格式,例如:
RPROMPT=$'%{\x1b[34;1;3m%} hello %{\x1b[0m%}'
您可以使用RPROMPT=$'string with special escaping'
(See bash manual)
它可能有一些问题,例如左侧提示被编辑。
,为了更好的兼容性(如果有一天你用另一种 #!/bin/bash
LOCATION=europe-west3\
ALGOLIA_APP_ID=xxx\
ALGOLIA_API_KEY=xxx\
ALGOLIA_INDEX_NAME=organizations\
COLLECTION_PATH=organizations\
FIELDS=name,address,city\
GOOGLE_APPLICATION_CREDENTIALS=./xxx.json\
npx firestore-algolia-search
运行你的 zsh),我不会硬编码转义序列,而是使用类似的东西
TERM
有关 RPROMPT="$(tput sitm) Hello $(tput sgr0)"
和 sitm
的含义,请参阅 man terminfo。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。