提交 4e513d72 编写于 作者: J Jim Hester

Fixes for vi-mode terminal overwriting bugs

fixes #387 and https://github.com/robbyrussell/oh-my-zsh/pull/1321#issuecomment-9959540
and other problems of prompt overwriting when people did not realize that it
was vi mode causing the problem.  Hat tip to sorin ionescu, as I took this code
from prezto
上级 c2ae9e09
function zle-line-init zle-keymap-select { # Ensures that $terminfo values are valid and updates editor information when
# the keymap changes.
function zle-keymap-select zle-line-init zle-line-finish {
# The terminal must be in application mode when ZLE is active for $terminfo
# values to be valid.
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
case "$0" in
(zle-line-init)
# Enable terminal application mode.
echoti smkx
;;
(zle-line-finish)
# Disable terminal application mode.
echoti rmkx
;;
esac
fi
zle reset-prompt zle reset-prompt
zle -R
} }
zle -N zle-line-init zle -N zle-line-init
zle -N zle-line-finish
zle -N zle-keymap-select zle -N zle-keymap-select
#changing mode clobbers the keybinds, so store the keybinds before and execute #changing mode clobbers the keybinds, so store the keybinds before and execute
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册