O que está causando isso é duplo:
- Algo, possivelmente o shell Z, disse ao seu terminal para ativar o colar entre colchetes .
- O shell Z está usando o mapa de teclado
vicmdouviins.
O que está acontecendo é isso:
- O shell Z é iniciado e emite a sequência de controle para ativar a colagem entre colchetes no emulador de terminal. Ou talvez um editor de texto tenha feito isso em algum momento, e algo fez com que ele não emitisse a sequência de controle para desativá-lo novamente.
- Você cola algo.
- O emulador de terminal envia o início da sequência de controle de pasta entre colchetes, o texto colado e o final da seqüência de controle de colagem entre colchetes.
- O primeiro caractere da seqüência de controle de colar entre colchetes é ESC, que cancela o modo de inserção de
vide ZLE e retorna ao modo de comandovide ZLE. - Os caracteres subsequentes são
vide comandos e não fazem muito, até que você atinja a letraooui, que entra no modo de inserção. - O restante do texto é inserido no modo de inserção.
- O primeiro caractere da seqüência de controle de colagem entre colchetes é ESC, que cancela o modo de inserção de
vido ZLE e retorna ao modo de comandovido ZLE. - Caracteres subseqüentes da seqüência de controle não fazem muito.
- O caractere final da seqüência de controle de colagem entre colchetes é
~, que é o comandovipara trocar o caso. Isso faz com que a letra final do texto colado seja trocada entre maiúsculas e minúsculas.
Você conserta isso de duas maneiras:
- Impede que o shell Z ative a colagem entre colchetes; como claramente não foi configurado para lidar com isso em
vicmd/viinskeymaps. - Faça o trabalho de colar entre colchetes em
vicmd/viinskeymaps. Como você faz isso depende de como você fez o shell Z reconhecer a pasta entre colchetes em primeiro lugar. O plug-insafe-paste, em vez disso, assume os mapas de teclado do emacs e precisa ser ajustado para funcionar bem com os mapas de teclado do vi. Mas essa não é a única maneira de obter colar entre colchetes no reservatório Z hoje em dia.