【问题标题】:Issues with Zsh promptZsh 提示问题
【发布时间】:2014-05-19 14:51:21
【问题描述】:

我的 Zsh 提示光标有时(实际上大部分时间)应该是下面一行(附上截图):

如果我多次按回车,提示似乎已修复:

我的第一个想法是这是我的自定义提示中的错误,所以我将提示替换为一个仅包含一位数字的简单提示:

PROMPT='> '

但错误仍然存​​在。

关于可能缺少什么的任何线索?

你可以在这里找到我的主题:http://pastebin.com/cSJwGWKZ

请注意,我正在使用 Oh My Zsh。

编辑:当我到达终端底部(按回车键)时,提示似乎已修复。

【问题讨论】:

    标签: zsh oh-my-zsh


    【解决方案1】:

    罪魁祸首是您的RPROMPT 中的%{$(echotc DO 1)%},它在打印RPROMPT 时将光标向下移动了一行。当到达终端的底部时,没有额外的行可向下移动,因此光标就保持在原来的位置。

    根据您想要RPROMPT 的位置,您基本上有两种选择:

    • 与输入光标在同一行(λ 之后):
      只需从您的 RPROMPT 中删除 %{$(echotc DO 1)%}

    RPROMPT='$(_git_time_since_commit) $(git_prompt_status) ${_return_status}%'
    
    • 在您的输入上方一行(或任何其他行数):
      RPROMPT 的开头添加%{$(echotc UP 1)%},这会将光标上移一行,打印正确的提示并下移一行:

    RPROMPT='%{$(echotc UP 1)%}$(_git_time_since_commit) $(git_prompt_status) ${_return_status}%{$(echotc DO 1)%}'`
    

    注意:第二种方法可能会导致RPROMPT 覆盖PROMPT 的一部分,如果两者都变长和/或终端窗口变窄。如果RPROMPT 与输入保持在同一行,则一旦输入到达它,它将被隐藏(如果您删除一些输入,它将重新出现)。

    【讨论】:

    • 非常感谢您的精彩解释!
    猜你喜欢
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多