mirror of
https://github.com/theniceboy/.config.git
synced 2025-12-26 14:44:57 +08:00
39 lines
978 B
Bash
39 lines
978 B
Bash
bindkey '^v' edit-command-line
|
|
bindkey -v
|
|
bindkey -M vicmd "k" vi-insert
|
|
bindkey -M vicmd "K" vi-insert-bol
|
|
bindkey -M vicmd "n" vi-backward-char
|
|
bindkey -M vicmd "i" vi-forward-char
|
|
bindkey -M vicmd "N" vi-beginning-of-line
|
|
bindkey -M vicmd "I" vi-end-of-line
|
|
bindkey -M vicmd "e" down-line-or-history
|
|
bindkey -M vicmd "u" up-line-or-history
|
|
bindkey -M vicmd "l" undo
|
|
#bindkey -M vicmd "-" vi-rev-repeat-search
|
|
bindkey -M vicmd "=" vi-repeat-search
|
|
bindkey -M vicmd "h" vi-forward-word-end
|
|
|
|
function zle-keymap-select {
|
|
if [[ ${KEYMAP} == vicmd ]] || [[ $1 = 'block' ]]; then
|
|
echo -ne '\e[1 q'
|
|
elif [[ ${KEYMAP} == main ]] || [[ ${KEYMAP} == viins ]] || [[ ${KEYMAP} = '' ]] || [[ $1 = 'beam' ]]; then
|
|
echo -ne '\e[5 q'
|
|
fi
|
|
}
|
|
zle -N zle-keymap-select
|
|
|
|
# Use beam shape cursor on startup.
|
|
echo -ne '\e[5 q'
|
|
|
|
# Use beam shape cursor for each new prompt.
|
|
preexec() {
|
|
echo -ne '\e[5 q'
|
|
}
|
|
|
|
_fix_cursor() {
|
|
echo -ne '\e[5 q'
|
|
}
|
|
precmd_functions+=(_fix_cursor)
|
|
|
|
KEYTIMEOUT=1
|
|
|