Não há uma opção :help 'autosave'
interna , embora (em todo.txt) se refira a uma descrição do que essa opção poderia fazer.
Uma maneira possível de implementar isso é usar o CursorHold
evento de comando automático. Este evento é acionado quando o usuário não pressiona uma tecla por 'updatetime'
milissegundos.
autocmd CursorHold * update
O :update
comando salva o buffer apenas se ele for modificado. Se você também quiser que isso aconteça enquanto o modo de inserção estiver ativo, CursorHoldI
poderá ser adicionado à lista de eventos.
autocmd CursorHold,CursorHoldI * update
Outra alternativa é a 'autowrite'
opção, que salvará o buffer antes de executar um comando externo (útil para salvar antes de executar :make
) ou alternar para um buffer diferente.
O Vim possui um recurso de salvamento automático, mas o salva no arquivo "recuperação".
Quando você edita um documento, por exemplo, o
MyFile.txt
vim cria o arquivo de recuperação.MyFile.txt.swp
. Se seu sistema travar ou sua sessão morrer, você poderá reconectar-se e recuperar-se essencialmente de onde parou, digitando:Isso abrirá o arquivo para edição e recuperará as últimas alterações feitas nele.
Você pode salvar a versão recuperada da maneira normal
:w
.Infelizmente, quando você sai do vim, ele deixa o ambiente
.MyFile.txt.swp
, e você precisa removê-lo manualmente:Consulte a página do manual "Recuperação" também Capítulo 11
fonte
:wq
ou:q!
ouZZ
ou etc.), os arquivos de troca devem ser removidos automaticamente.Eu criei um plugin vim-autosave que usa o recurso Vim 8 do Timers para salvar periodicamente seus buffers.
fonte
Faço meu Vim salvar tudo toda vez que o foco é perdido.
Meus padrões são bem longos e eu os uso em vários autocmds, mas, para completar, é assim:
fonte
Como outros indicaram, o vim possui um arquivo de troca (.swp) que será criado onde quer que esteja o arquivo original, mas no seu arquivo .vimrc, você pode definir o diretório .swp.
Você precisará criar o diretório
mkdir
e, em seguida, definir seu .vimrc nesse local.fonte
O plug - in vim-workspace possui um recurso de salvamento automático bastante personalizável que pode atender às suas necessidades. Por padrão, ele permite o salvamento automático em uma sessão da área de trabalho (seu principal recurso), mas você pode configurá-lo para sempre salvar automaticamente, se isso é tudo o que você procura (
let g:workspace_autosave_always = 1
).fonte
Tente salvar o buffer sempre que o texto for alterado:
Isso funciona para mim.
Fonte
fonte