Il n'y a pas d'option intégrée, bien que :help 'autosave'
(dans todo.txt) fasse référence à une description de ce qu'une telle option pourrait faire.
Une façon possible de l'implémenter consiste à utiliser l' CursorHold
événement autocommand. Cet événement est déclenché lorsque l'utilisateur n'a pas appuyé sur une touche pendant des 'updatetime'
millisecondes.
autocmd CursorHold * update
La :update
commande enregistre le tampon uniquement s'il est modifié. Si vous vouliez également que cela se produise lorsque le mode d'insertion est actif, CursorHoldI
pourrait être ajouté à la liste des événements.
autocmd CursorHold,CursorHoldI * update
Une autre alternative est l' 'autowrite'
option, qui enregistrera le tampon avant d'exécuter une commande externe (utile pour enregistrer avant d'exécuter :make
) ou de basculer vers un autre tampon.
Vim possède une fonction d'enregistrement automatique, mais il l'enregistre dans le fichier de "récupération".
Lorsque vous modifiez un document, par exemple,
MyFile.txt
vim créera le fichier de restauration.MyFile.txt.swp
. Si votre système venait à planter, ou votre session devait mourir, alors vous pouvez vous reconnecter et récupérer essentiellement là où vous vous étiez arrêté, en tapant:Cela ouvrira le fichier pour modification et récupérera les dernières modifications que vous y avez apportées.
Vous pouvez ensuite enregistrer la version récupérée de la manière habituelle
:w
.Malheureusement, lorsque vous quittez vim, il laisse le
.MyFile.txt.swp
pourtour et vous devez le supprimer manuellement:Voir la page Man "Recovery" Aussi Chapitre 11
la source
:wq
ou:q!
ouZZ
ou etc.), les fichiers d'échange doivent être automatiquement supprimés.J'ai créé un plugin vim-autosave qui utilise la fonction Vim 8 des Timers pour sauvegarder périodiquement vos tampons.
la source
Je fais en sorte que mon Vim enregistre tout à chaque fois que le focus est perdu.
Mes modèles sont assez longs et je les utilise dans plusieurs autocmds mais pour être complet, voici à quoi ça ressemble:
la source
Comme d'autres l'ont indiqué, vim a un fichier d'échange (.swp) qui sera créé où que se trouve votre fichier d'origine, mais dans votre fichier .vimrc, vous pouvez définir le répertoire .swp.
Vous devrez créer le répertoire avec
mkdir
, puis définir votre .vimrc à cet emplacement.la source
Le plugin vim-workspace possède une fonction d'enregistrement automatique assez personnalisable qui peut répondre à vos besoins. Par défaut, il active l'enregistrement automatique dans une session d'espace de travail (sa principale caractéristique), mais vous pouvez le définir pour qu'il soit toujours enregistré automatiquement si c'est tout ce que vous recherchez (
let g:workspace_autosave_always = 1
).la source
Essayez d'enregistrer le tampon chaque fois que le texte est modifié:
Cela fonctionne pour moi.
La source
la source