diff options
Diffstat (limited to '.config/zsh/vi-mode.zsh')
-rw-r--r-- | .config/zsh/vi-mode.zsh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/.config/zsh/vi-mode.zsh b/.config/zsh/vi-mode.zsh new file mode 100644 index 0000000..f0529f9 --- /dev/null +++ b/.config/zsh/vi-mode.zsh @@ -0,0 +1,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 |