I'll happily accept a PR for this, but I don't intend to implement it. zsh's vi mode already provides this functionality on the % key in normal mode, a la vim. It can be enabled by adding bindkey -v to ~/.zshrc.
It also offers support for vim text objects and vim-surround-like behavior:
autoload -Uz surround
zle -N delete-surround surround
zle -N add-surround surround
zle -N change-surround surround
bindkey -a cs change-surround
bindkey -a ds delete-surround
bindkey -a ys add-surround
if is-at-least 5.0.8; then
bindkey -M visual S add-surround
# add vimmish text-object support to zsh
autoload -U select-quoted; zle -N select-quoted
for m in visual viopp; do
for c in {a,i}{\',\",\`}; do
bindkey -M $m $c select-quoted
done
done
autoload -U select-bracketed; zle -N select-bracketed
for m in visual viopp; do
for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do
bindkey -M $m $c select-bracketed
done
done
fi
I'll happily accept a PR for this, but I don't intend to implement it. zsh's vi mode already provides this functionality on the
%
key in normal mode, a la vim. It can be enabled by addingbindkey -v
to~/.zshrc
.It also offers support for vim text objects and vim-surround-like behavior: