Salvar automaticamente no Vim
Dica publicada em Linux / Vim
Salvar automaticamente no Vim
Existem várias formas de se implementar salvar automaticamente no Vim, nesta dica irei explicar a que eu bolei no meu ~/.vimrc.
Para a implementação do recurso irei usar uma combinação do autocmd com a variável updatetime e os eventos CursorHold e CursorHoldI.
Ao definir um "autocmd" (ou apenas "au"), você estará dizendo ao Vim para executar determinado comando toda vez que um evento em determinado tipo de arquivo ocorrer.
Os eventos "CursorHold" e "CursorHoldI" são disparados quando o cursor de texto fica ocioso por 4 segundos (tempo padrão da variável "updatetime").
Então nossa solução será a seguinte: executar um autocmd toda vez que algum evento de CursorHold for disparado, mas ao invés de aguardar por 4 segundos, quero aguardar somente 1 segundo.
Abra o seu .vimrc e adicione as seguintes linhas:
O comando "update" diz ao Vim para salvar o arquivo SOMENTE se ele tiver sido alterado.
Em suma, as linhas acima fazem com que o Vim salve o arquivo automaticamente a cada 1 segundo caso ele tenha sido alterado.
Para a implementação do recurso irei usar uma combinação do autocmd com a variável updatetime e os eventos CursorHold e CursorHoldI.
Ao definir um "autocmd" (ou apenas "au"), você estará dizendo ao Vim para executar determinado comando toda vez que um evento em determinado tipo de arquivo ocorrer.
Os eventos "CursorHold" e "CursorHoldI" são disparados quando o cursor de texto fica ocioso por 4 segundos (tempo padrão da variável "updatetime").
Então nossa solução será a seguinte: executar um autocmd toda vez que algum evento de CursorHold for disparado, mas ao invés de aguardar por 4 segundos, quero aguardar somente 1 segundo.
Abra o seu .vimrc e adicione as seguintes linhas:
"1000 milisegundos = 1 segundo
set updatetime=1000
" * significa todos os arquivos, você pode filtrar por
" *.txt,*.py e assim vai
autocmd CursorHold,CursorHoldI * update
set updatetime=1000
" * significa todos os arquivos, você pode filtrar por
" *.txt,*.py e assim vai
autocmd CursorHold,CursorHoldI * update
O comando "update" diz ao Vim para salvar o arquivo SOMENTE se ele tiver sido alterado.
Em suma, as linhas acima fazem com que o Vim salve o arquivo automaticamente a cada 1 segundo caso ele tenha sido alterado.
Assim pode cair a energia que não tem problema.
___________________________________
Conhecimento não se Leva para o Túmulo.