diff options
author | Mateja <mail@matejamaric.com> | 2021-06-20 22:01:05 +0200 |
---|---|---|
committer | Mateja <mail@matejamaric.com> | 2021-06-20 22:01:05 +0200 |
commit | 5c68b137a6b1ecf59e4c89ac5ca9352c0ef3e849 (patch) | |
tree | c4b91179b698d74b2f8b0c7ea92266678e556f65 /.config/zsh/zsh-vim-mode | |
parent | 740c3cc87b71c9f7a68f83f5c6a1434600f04220 (diff) | |
download | dotfiles-5c68b137a6b1ecf59e4c89ac5ca9352c0ef3e849.tar.gz dotfiles-5c68b137a6b1ecf59e4c89ac5ca9352c0ef3e849.zip |
Added zsh configuration files.
Diffstat (limited to '.config/zsh/zsh-vim-mode')
-rw-r--r-- | .config/zsh/zsh-vim-mode | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/.config/zsh/zsh-vim-mode b/.config/zsh/zsh-vim-mode new file mode 100644 index 0000000..862c963 --- /dev/null +++ b/.config/zsh/zsh-vim-mode @@ -0,0 +1,26 @@ +# bindkey -e will be emacs mode +bindkey -v +export KEYTIMEOUT=1 + +# Use vim keys in tab complete menu: +bindkey -M menuselect '^h' vi-backward-char +bindkey -M menuselect '^k' vi-up-line-or-history +bindkey -M menuselect '^l' vi-forward-char +bindkey -M menuselect '^j' vi-down-line-or-history +bindkey -v '^?' backward-delete-char + +# Change cursor shape for different vi modes. +function zle-keymap-select () { + case $KEYMAP in + vicmd) echo -ne '\e[1 q';; # block + viins|main) echo -ne '\e[5 q';; # beam + esac +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. |