正如你所看到的,当我写一个长命令行时,zsh提示消失了,我不知道为什么
.zshrc
:
autoload -U compinit promptinit
compinit
promptinit
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BDésolé, pas de résultats pour : %d%b'
zstyle ':completion:*' menu select=2
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
function powerline_precmd() {
PS1="$(~/powerline-shell.py $? --shell zsh 2> /dev/null)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
bindkey ';5D' emacs-backward-word
bindkey ';5C' emacs-forward-word
我使用Xfce4-terminal,我在Debian stretch上
由于
答案 0 :(得分:1)
这是由于zsh如何决定提示的长度。通常使用标准命令它可以自己正常工作,但是,运行python脚本并回显提示混淆它并且我无法正确修复它,之前添加%27{
和%}
$(~/powerline-shell.py $? --shell zsh 2> /dev/null)
之后str_extract
使它看起来对我有用,但这只是基于我的电力线提示的临时工作。
更可行的修复方法是使用bash-powerline转储powerline-shell并使用bash命令编写,该命令与zsh交叉兼容。