Zsh主题在OSX上无法正常工作

时间:2014-11-09 15:29:52

标签: macos zsh

昨天刚开始使用zsh,但是我在使主题工作方面遇到了很多麻烦。 以下是我的ZSH提示中显示的内容:

$fg[cyan][$fg[white] keithy $fg[cyan]] [$fg[white]~/Desktop$fg[cyan]] >$reset_color

我的〜/ .zshrc

source ~/.antigen.zsh

antigen theme jdavis/zsh-files themes/jdavis

由于

3 个答案:

答案 0 :(得分:6)

TL; DR:更正.zshrc位于底部。您可能想先尝试一下,看看它是否正常工作,然后再回过头来阅读解释。


检查antigen.zshjdavis.zsh-theme,看起来您有两个问题:

  1. 您尚未在任何地方加载并执行colors function。添加

    autoload -U colors && colors
    

    .zshrc

  2. PROMPT是单引号,未解析。您需要使用PROMPT_SUBST option选项来解析提示字符串。添加

    setopt promptsubst
    

    .zshrc。根据链接文档,该选项的作用是什么:

      

    如果设置,则会在提示中执行参数扩展命令替换算术扩展。提示中的替换不会影响命令状态。

  3. 所以你的.zshrc应该是

    source ~/.antigen.zsh
    autoload -U colors && colors
    setopt promptsubst
    antigen theme jdavis/zsh-files themes/jdavis
    

答案 1 :(得分:0)

您似乎正在尝试使用来自Oh-my-zsh的颜色代码的提示,也许您还没有定义这些颜色。尝试将来自Oh-my-zsh的spectrum.zsh文件(如果您不想运行整个软件包)添加到源列表中,或(不够,请参阅注释)将提示中的颜色重新定义为默认值zsh colors。您可以使用spectrum_ls中定义的spectrum.zsh函数或通过更改此单行中的数值(051是明亮的青色)来使用颜色:

zsh -c 'print -P -- "%F{051}Hello, World%f"'

以下是未定义颜色的提示(顶部)的示例,以及在定义PROMPT(底部)之前已提供Oh-my-zsh的提示: Zsh prompt examples

编辑:

请参阅4ae1e1的答案,了解各个要求(Oh-my-zsh自动设置它们)。

答案 2 :(得分:0)

PATH默认为单引号,因此未解析。用双引号字符串重写var

PATH="$PATH"
source ~/.antigen.zsh
antigen theme jdavis/zsh-files themes/jdavis