Se eu criar mapeamentos no vim para correção automática ("teh" para "the"), como isso afetará a velocidade do Vim?
Além disso, se eu realmente quisesse digitar "teh", como faria isso sem a correção automática do vim?
Responder1
Por favor, useabreviaturas, nãomapeamentospara aqueles. O primeiro só será ativado quando a palavra inteira for digitada (como em processadores de texto) e não terá o efeito colateral de suprimir caracteres adicionais até que o mapeamento seja concluído ou não corresponda:
:ia teh the
Você não notará nenhum atraso e deverá ser possível definir centenas, senão milhares deles sem perceber.
Para evitar a abreviatura no modo de inserção: Digite parte da abreviatura, saia do modo de inserção com <Esc>
, entre novamente no modo de inserção com a
e digite o resto. Ou digite <C-V>
antes do caractere após a abreviatura.
Todos os detalhes em :help abbreviations
.
Responder2
- A diferença de velocidade será insignificante.
- Você pode usar
<C-C>
para sair do modo de inserção, isso impedirá o vim de tentar alterar a abreviatura ou você pode digitá-lo e colocar um espaço ou algo assim e depois excluir o caractere após as palavras.
Responder3
Tenho mais de 44.000 abreviações que são carregadas de forma assíncrona sempre que inicio o vim. Um atraso só acontece durante a inserção de uma nova abreviatura, e esse atraso aumenta com o comprimento da lista de abreviaturas existentes. Uma vez adicionado, não há nenhuma diferença na velocidade no modo de inserção em comparação com a ausência de qualquer abreviatura.
Conforme as outras respostas mencionadas, use <C-C>
ou <C-V>
após digitar uma palavra para evitar substituí-la automaticamente. Usar <C-V>
mantém você no modo de inserção enquanto <C-C>
retorna ao modo normal.