我在 Zsh 中有一个简单的提示符。它仅包含提示符字符»
(N
在正常模式下替换为,因为我使用 ZLE 的 Vi 模式)。
每当窗口调整大小时,提示字符就会消失,就像被退格了一样。无论我是否处于正常模式,都会发生这种情况。
我怎样才能解决这个问题?
我的提示主题(最小可重现案例):
# Functionality for displaying normal mode indicator in Vi mode.
function zle-line-init zle-keymap-select {
local return_status="»"
zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
# End Vi mode functionality
PROMPT='${return_status}'
答案1
可能发生的情况是,在重置提示期间未启动该提示,或者zle-line-init
变量zle-keymap-select
未定义。local
return_status
当然,这意味着你的PROMPT
现在是空的。
删除local
限定符应该可以解决您的问题并让您重新获得美丽的 unicode 提示字符:)