Estimados usuarios de este complemento! Lo siento, ¡pero ya no lo mantengo! Si alguno de ustedes está interesado en mantenerlo, por favor contácteme y lo agregaré como colaborador.
Autoguardado: guarda automáticamente los cambios en el disco sin tener que usar :w
(o cualquier enlace a él) cada vez que se modifica un búfer o se basa en sus eventos preferidos.
Inspirado en la misma función del editor de texto RubyMine.
De forma predeterminada, AutoSave se guardará cada vez que se cambie algo en el modo normal y cuando el usuario salga del modo de inserción. Esta configuración es una combinación entre "guardar tan a menudo como sea posible" e "intentar evitar romper otros complementos que dependen de eventos de escritura de archivos".
Utilice vundle o descargue la versión empaquetada desde vim.org.
Autoguardado está deshabilitado de forma predeterminada, ejecute :AutoSaveToggle
para habilitarlo/deshabilitarlo.
Si desea que el complemento se habilite al inicio, utilice la opción g:auto_save
.
" .vimrc
let g: auto_save = 1 " enable AutoSave on Vim startup
También es posible anular el valor global g:auto_save
individualmente por búfer o ventana. Por ejemplo, si tiene habilitado el guardado automático a nivel mundial, puede optar por no incluir algunos archivos. Y viceversa, opte por algunos archivos cuando tenga el guardado automático deshabilitado globalmente.
let g: auto_save = 0
augroup ft_markdown
au !
au FileType markdown let b: auto_save = 1
augroup END
Autoguardado se mostrará en la línea de estado en cada autoguardado de forma predeterminada:
(AutoSave) saved at 08:40:55
Puede silenciar la pantalla con la opción g:auto_save_silent
:
" .vimrc
let g: auto_save_silent = 1 " do not display the auto-save notification
Los eventos en los que AutoSave realizará un guardado se pueden ajustar usando la opción g:auto_save_events
. Al usar InsertLeave
y TextChanged
únicamente, de forma predeterminada, se guardará cada cambio en el modo normal y cada vez que salga del modo de inserción.
" .vimrc
let g: auto_save_events = [ " InsertLeave " , " TextChanged " ]
Otros eventos que quizás quieras utilizar:
TextChangedI
guardaré después de realizar un cambio en el texto en el búfer actual en modo de inserción.CursorHold
guardará cada cantidad de milisegundos según lo definido en la opción de updatetime
en modo normal.CursorHoldI
lo mismo en el modo de inserción.CompleteDone
también activará un guardado después de cada evento de finalización. Es posible que algunos de estos comandos no estén disponibles, dependiendo de su instalación de Vim. Consulte la descripción general de los comandos automáticos para obtener una lista completa ( :h autocommand-events
).
¡Advertencia! Se recomienda tener cuidado con la opción de updatetime
, ya que se ha demostrado que causa problemas cuando se establece en un valor demasiado pequeño. 200 ya parece ser demasiado pequeño para funcionar con otros complementos. Utilice 1000 para una configuración más conservadora.
Si necesita un gancho de guardado automático (como generar etiquetas después del guardado o cancelar el guardado antes), utilice las opciones g:auto_save_postsave_hook
o g:auto_save_presave_hook
:
" .vimrc
" This will run :TagsGenerate after each save
let g: auto_save_postsave_hook = ' TagsGenerate '
" This will run AbortIfNotGitDirectory function before each save
let g: auto_save_presave_hook = ' call AbortIfNotGitDirectory() '
" Example hook from vim-auto-save-git-hook plugin
function ! AbortIfNotGitDirectory ()
if ...
let g: auto_save_abort = 0
else
let g: auto_save_abort = 1
endif
endfunction
De forma predeterminada, solo se escribe el búfer actual (como :w
). Puede elegir que todos los buffers se escriban en el guardado automático usando la opción g:auto_save_write_all_buffers
(como :wa
).
" .vimrc
let g: auto_save_write_all_buffers = 1 " write all open buffers as if you would use :wa
El doc/auto-save.txt
es una versión convertida del README.md
. No lo edites directamente. En su lugar, instale md2vim y ejecute el script update_doc_from_readme.sh
.
El desarrollo se realiza en el repositorio 907th/vim-auto-save. Por favor, informe cualquier error y/o sugerencia allí. ¡Cualquier contribución es bienvenida!
Distribuido bajo la licencia MIT (ver LICENSE.txt).
Copyright (c) 2013-2021 Aleksei Chernenkov