Remova o atraso da inserção após inserir a inserção em um arquivo somente leitura

7

Ao inserir ou fazer qualquer modificação no modo de comando em um arquivo somente leitura pela primeira vez, você receberá o aviso

W10: Warning: Changing a readonly file

Tudo bem, mas isso também introduz um segundo ou dois atrasos antes que a ação realmente aconteça .

Existe uma maneira de desativar esse atraso?

Evan Purkhiser
fonte

Respostas:

2

Versão curta: não há como desativar isso ou reduzir o tempo limite de 1 segundo :-( A boa notícia é que você pode começar a digitar enquanto esta mensagem estiver sendo exibida, os caracteres ainda serão inseridos.


Versão mais longa: de misc1.c:

    if (msg_silent == 0 && !silent_mode)
    {
        out_flush();
        ui_delay(1000L, TRUE); /* give the user time to think about it */
    }

O msg_silenté definido ao usar :silent, por exemplo :s/./a/, dará o aviso, mas :silent s/./a/não será. Até onde eu sei, não há como iniciar o modo de inserção silenciosamente ( :silent startinsertnão funciona).

silent_modeé definido com -s, de vim(1):

   -s          Silent  mode.   Only  when started as "Ex" or when the "-e"
               option was given before the "-s" option.

Mas, como diz a mensagem de ajuda, isso funciona apenas ao usar o Vim como exe não ao usá-lo como vim.

Martin Tournoij
fonte
4

Você poderia simplesmente :set noroantes de fazer a modificação. Isso deve impedir o aviso.

Christian Brabandt
fonte
11
au BufEnter * set noro
Deceleratedcaviar