Evitar alternar o modo de sobrescrever no Spacemacs ou VI

0

Eu odeio o modo de substituição no VI. Eu realmente não quero substituir, eu só quero apertar inserir para confirmar que eu estou no modo de inserção antes de digitar, independentemente do estado que eu estava em anteriormente, sem se preocupar eu pode estar alternando o modo de substituir em vez disso.

Existe uma maneira de configurar o vi para nunca alternar para o modo de sobrescrever? Então a tecla de inserção alterna o modo de inserção sempre?

Estou usando o Spacemacs, portanto, se alguém souber como fazer isso no Spacemacs, seria melhor, mas se eu conseguisse a sintaxe do VI, seria possível descobrir como adicionar a configuração do vi à minha configuração do Spacemacs. file (Sou bem novo no Spacemacs agora).

    
por dsollen 14.11.2016 / 18:46

2 respostas

1

Acredito que você esteja se referindo ao modo de substituição. Eu não tenho VI na minha frente para testar isso. Tente se funciona para você:

function s:ForbidReplace()
    if v:insertmode isnot# 'i'
        call feedkeys("\<Insert>", "n")
    endif
endfunction
augroup ForbidReplaceMode
    autocmd!
    autocmd InsertEnter  * call s:ForbidReplace()
    autocmd InsertChange * call s:ForbidReplace()
augroup END

Este script apenas inverte o modo Substituir de volta para Inserir. Link de referência aqui .

    
por 14.11.2016 / 22:15
0

Por que você está usando sua chave insert no seu teclado? Apenas pressione i . (Ele nunca mudará para o modo de substituição. No pior caso, ele digitará a letra "i" e você poderá pressionar backspace.)

Além disso, na parte inferior da tela vi , há uma pequena barra de status que diz "INSERT" quando você está no modo de inserção.

Emacs e vi são muito diferentes, então é meio bizarro ver uma pergunta pedindo uma solução igualmente viável em ambos.

Se você estiver usando principalmente o modo de inserção para vi , talvez queira saber mais sobre o modo normal .

    
por 14.11.2016 / 23:40

Tags