Chers utilisateurs de ce plugin ! Désolé, mais je ne le maintiens plus ! Si quelqu'un d'entre vous souhaite le maintenir, contactez-moi et je vous ajouterai en tant que contributeur.
AutoSave - enregistre automatiquement les modifications sur le disque sans avoir à utiliser :w
(ou toute liaison à celui-ci) chaque fois qu'un tampon a été modifié ou en fonction de vos événements préférés.
Inspiré de la même fonctionnalité de l'éditeur de texte RubyMine.
Par défaut, AutoSave enregistrera chaque fois que quelque chose a été modifié en mode normal et lorsque l'utilisateur quitte le mode insertion. Cette configuration est un mélange entre "enregistrer aussi souvent que possible" et "essayer d'éviter de casser d'autres plugins qui dépendent des événements filewrite".
Utilisez vundle ou téléchargez la version packagée depuis vim.org.
L'enregistrement automatique est désactivé par défaut, exécutez :AutoSaveToggle
pour l'activer/désactiver.
Si vous souhaitez que le plugin soit activé au démarrage, utilisez l'option g:auto_save
.
" .vimrc
let g: auto_save = 1 " enable AutoSave on Vim startup
Il est également possible de remplacer la valeur globale g:auto_save
individuellement par tampon ou fenêtre. Par exemple, si la sauvegarde automatique est activée globalement, vous pouvez désactiver certains fichiers. Et vice versa, activez certains fichiers lorsque la sauvegarde automatique est désactivée globalement.
let g: auto_save = 0
augroup ft_markdown
au !
au FileType markdown let b: auto_save = 1
augroup END
La sauvegarde automatique s'affichera par défaut sur la ligne d'état de chaque sauvegarde automatique :
(AutoSave) saved at 08:40:55
Vous pouvez désactiver l'affichage avec l'option g:auto_save_silent
:
" .vimrc
let g: auto_save_silent = 1 " do not display the auto-save notification
Les événements sur lesquels AutoSave effectuera une sauvegarde peuvent être ajustés à l'aide de l'option g:auto_save_events
. L'utilisation de InsertLeave
et TextChanged
uniquement, la valeur par défaut, enregistrera chaque modification en mode normal et chaque fois que vous quitterez le mode insertion.
" .vimrc
let g: auto_save_events = [ " InsertLeave " , " TextChanged " ]
Autres événements que vous souhaiterez peut-être utiliser :
TextChangedI
sauvegarderai après qu'une modification ait été apportée au texte dans le tampon actuel en mode insertion.CursorHold
enregistrera chaque milliseconde telle que définie dans l'option updatetime
en mode normal.CursorHoldI
ferai la même chose en mode insertion.CompleteDone
déclenchera également une sauvegarde après chaque événement d'achèvement. Certaines de ces commandes peuvent ne pas être disponibles, selon votre installation de Vim. Voir la présentation des autocommandes pour une liste complète ( :h autocommand-events
).
Avertissement! Soyez prudent avec l'option updatetime
car elle s'est avérée poser des problèmes lorsqu'elle est trop petite. 200 semble déjà être trop petit pour fonctionner avec certains autres plugins. Utilisez 1000 pour un réglage plus conservateur.
Si vous avez besoin d'un hook de sauvegarde automatique (comme générer des balises après la sauvegarde ou abandonner la sauvegarde plus tôt), utilisez les options g:auto_save_postsave_hook
ou 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
Par défaut, seul le tampon actuel est écrit (comme :w
). Vous pouvez choisir que tous les tampons soient écrits lors de la sauvegarde automatique en utilisant l'option g:auto_save_write_all_buffers
(comme :wa
).
" .vimrc
let g: auto_save_write_all_buffers = 1 " write all open buffers as if you would use :wa
Le doc/auto-save.txt
est une version convertie du README.md
. Ne le modifiez pas directement. Installez plutôt md2vim et exécutez le script update_doc_from_readme.sh
.
Le développement est effectué dans le dépôt 907th/vim-auto-save. Veuillez y signaler tout bug et/ou suggestion. Toute contribution est la bienvenue !
Distribué sous licence MIT (voir LICENSE.txt).
Copyright (c) 2013-2021 Alekseï Tchernenkov