
Digamos que eu queira vincular Rno redo
modo vicmd.
Isso funciona.
bindkey -a r redo
Se eu mudar para isso, não funciona.
bindkey -a rr redo
Eu tentei coisas diferentes sem sucesso. Isso não é possível? Eu sei que deveria ser possível vincular sequências a teclas no modo emacs, mas você pode fazer o mesmo com letras no modo vi?
Responder1
No modo vicmd padrão Rjá está vinculado ao vi-replace-chars
.
Então, quando você define R+ Rpara redo
com
bindkey -a rr redo
você tem duas ações possíveis que o Zsh pode seguir quando Ré pressionado
- interprete-o como o comando
vi-replace-chars
ou - espere por um segundo caractere e então interprete o comando
redo
O algoritmo para combinar comandos de teclado no Zsh favorece comandos curtos, portanto sempre usará a ação 1..
Para impedir que o Zsh faça isso, primeiro você precisa remover a ligação de Rwith
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