sábado, 25 de abril de 2009

Saindo do modo inserção automaticamente depois de um intervalo de tempo

Se você entra em modo inserção deve ser pressionado o para voltar para o modo normal para executar alguns comandos.

Elimine essa ação repetitiva definindo o código abaixo em seu .vimrc:
" automaticamente deixe o modo inserção depois de 'updatetime' milisegundos 
" de inatividade.
au CursorHoldI * stopinsert
" defina o 'updatetime' de até 2 segundos quando no modo inserção
au InsertEnter * let updaterestore=&updatetime | set updatetime=2000
au InsertLeave * let &updatetime=updaterestore
O primeiro autocomando tem o evento 'CursorHoldI' que ocorre quando o usuário
não digita nada durante o tempo especificado na opção 'updatetime' e está no
modo inserção. O comando executado será 'stopinsert', o qual equivale a
pressionar no modo inserção.

O autocomando seguinte, ativado no 'InsertEnter' que ocorre antes de entrar no
modo inserção, salva o a opção 'updatetime' e define num valor conveniente, aqui
2 segundos.

O autocomando final, ativado no 'InsertLeave' que ocorre ao deixar o modo
inserção, retorna o valor original da opção 'updatetime'.

Isso permite usar um valor específico de 'updatetime' para sair do modo inserção
sem afetar outras funções, por exemplo mapeamento com várias teclas.

0 comentários:

Postar um comentário