about summary refs log tree commit diff
path: root/.config/zsh/vi-mode.zsh
blob: f0529f975581377fba4762e9c33b378c59dc6ce1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# vi mode
bindkey -v
# make backspace and delete behave like vim
bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^H' backward-delete-char
bindkey -M viins '^[[3~' delete-char
# display block cursor in normal mode
function zle-keymap-select zle-line-init zle-line-finish {
	case $KEYMAP in
		vicmd)      echo -ne "\e[2 q";;
		viins|main) echo -ne "\e[6 q";;
	esac
	zle reset-prompt
	zle -R
}
zle -N zle-keymap-select
zle -N zle-line-init
zle -N zle-line-finish