No modo vicmd padrão R já está vinculado a vi-replace-chars .
Então, quando você define R + R para redo com
bindkey -a rr redo
você tem duas ações possíveis que o Zsh pode seguir quando R é pressionado
- interprete como o comando
vi-replace-charsou - aguarde um segundo caractere e interprete o comando
redo
O algoritmo para combinar os comandos do teclado no Zsh favorece os comandos curtos para que ele sempre use a ação 1..
Para impedir que Zsh faça isso, primeiro você precisa remover a ligação para R com
bindkey -a -r r
e adicione sua nova opção com
bindkey -a rr redo
Você também pode adicionar vi-replace-chars com
bindkey -a re vi-replace-chars