我在OS X上运行带有oh-my-zsh的zsh。每次使用zsh的真棒选项卡完成时,当前命令行提示符上的格式化都会搞砸了。例如:
我将输入cd fo
并尝试Tab键完成'foo'目录; zsh提示完成,但在等待我完成时将命令行更改为cd fo cd fo
。这不是什么大问题,但非常讨厌。有什么建议吗?
答案 0 :(得分:1)
之前我遇到过同样的问题,我的解决方案是禁用一些zsh插件。第二个可能性是您的颜色主题可能包含导致此问题的错误。
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git)
这是〜/ .zshrc 文件中插件部分的最终版本。括号之间的任何其他插件可能是您的情况的原因。
如果问题仍然存在,您需要发布~/.zshrc
,让我们检查一下。
答案 1 :(得分:0)
我在PopOS和Arch Linux上遇到了同样的问题。我从各个地方尝试了一堆解决方案,但是唯一适合我的解决方案是romkatv提出的this关于oh-my-zsh github存储库上的问题的建议。
解决方案是使用您在oh-my-zsh中使用的任何主题制作.zsh-theme
文件的副本,并用%{%G<CHARACTER>%}
包围所有非ASCII字符(如表情符号)>
例如,默认的oh-my-zsh主题robbyrussel
包含2个非ASCII字符。提示中的“➜”字符
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
和git目录提示中的'✗'字符
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
在这样的2个非ASCII字符周围使用%{%G<character>%}
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}%{%G➜%} )"
还有这个
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%{%G✗%}"
为我解决了这个问题。