如何将zsh的提示斜体化(哦,我的zsh,iTerm2)?

如何将zsh的提示斜体化(哦,我的zsh,iTerm2)?,zsh,prompt,iterm2,oh-my-zsh,Zsh,Prompt,Iterm2,Oh My Zsh,我想在iTerm2中使用oh my zsh将zsh的提示符(特别是正确的提示符/RPROMPT)斜体化,到目前为止,我在这方面遇到了一些问题。我已经检查过终端是否可以使用echo-e”\e[3mitalic\e[0m”输出和查看斜体字体 到目前为止我已经尝试过的事情: RPROMPT='\e[3m Hello\e[0m':输出是一个文字引号\e[3m Hello\e[0m 从那时起,我试过了 并且输出仍然有\e[3m和\e[0m部分 从开始,我尝试使用\x1b[3m而不是\e[3m:仍然输出\x

我想在iTerm2中使用oh my zsh将zsh的提示符(特别是正确的提示符/RPROMPT)斜体化,到目前为止,我在这方面遇到了一些问题。我已经检查过终端是否可以使用
echo-e”\e[3mitalic\e[0m”
输出和查看斜体字体

到目前为止我已经尝试过的事情:

  • RPROMPT='\e[3m Hello\e[0m'
    :输出是一个文字引号
    \e[3m Hello\e[0m
  • 从那时起,我试过了
  • 并且输出仍然有
    \e[3m
    \e[0m
    部分

  • 从开始,我尝试使用
    \x1b[3m
    而不是
    \e[3m
    :仍然输出
    \x1b[3m
    \x1b[0m

  • 我找到了,但我不明白我在看什么/我应该做什么


  • 我希望使用斜体格式,因此非常感谢您的帮助。

    您可以使用
    RPROMPT=$“带特殊转义的字符串”
    ()


    它可能有一些问题,例如左提示符被编辑。

    根据Grapeaple的答案进行进一步测试后,我找到了一个不会干扰左提示符的解决方案。根据,您需要使用字符串引号
    %{…%}
    来包装转义序列格式,例如:

    RPROMPT=$'%{\x1b[34;1;3m%}你好%{\x1b[0m%}
    为了更好的兼容性(如果有一天你用不同的
    术语运行zsh),我不会硬编码转义序列,而是使用

    RPROMPT="$(tput sitm) Hello $(tput sgr0)"
    

    参见man terminfo了解
    sitm
    sgr0

    谢谢,前面的美元符号正是我所需要的!是否要将您的评论转换为答案,我将其标记为已回答?根据您的答案,我设法找到了一个不会干扰左侧提示的解决方案。您需要使用字符串引号
    %{…%}
    环绕转义序列格式,例如
    RPROMPT=$'%{\x1b[3m%}hello%{\x1b[0m%}'
    RPROMPT="$(tput sitm) Hello $(tput sgr0)"