Pourquoi vim sauvegarde-t-il des fichiers avec une extension~?

j'ai trouvé que tout en utilisant Vim sur Windows Vim sauve le fichier, un fichier .ext.swp qui est supprimé à la fermeture de la fenêtre Vim et un fichier .ext~ .

je suppose que le fichier .ext.swp est une sauvegarde de session en cas de crash de Vim. Quel est le but du fichier .ext~ ? C'est un fichier de sauvegarde permanent? C'est ennuyeux car j'aimerais copier tous les fichiers sur lesquels je travaille sur mon hôte, sans ces doubles. Comment puis-je l'éteindre ou , si il est là pour une bonne raison, masquer les fichiers ?

159
vim
demandé sur Ross 2009-03-03 20:56:45

9 réponses

le fichier *.ext~ est un fichier de sauvegarde, contenant le fichier tel qu'il était avant que vous ne le modifiiez.

le fichier *.ext.swp est le fichier de pagination, qui sert de fichier de verrouillage et contient l'historique undo/redo ainsi que toute autre information interne dont Vim a besoin. En cas de plantage, vous pouvez rouvrir votre fichier et Vim restaurera son état précédent à partir du fichier swap (que je trouve utile, donc je ne l'éteins pas).

Pour désactiver la création automatique des fichiers de sauvegarde, utilisez (dans votre vimrc):

set nobackup
set nowritebackup

nowritebackup modifie le comportement par défaut de "save" de Vim, qui est:

  1. tampon d'écriture d'un nouveau fichier
  2. supprimer le fichier original
  3. renommer le nouveau fichier

et fait écrire le tampon au fichier original (ce qui entraîne le risque de le détruire en cas d'erreur d'entrée/sortie). Mais vous prévenir "sautant des fichiers" sur le bureau de Windows avec elle, qui est la raison principale pour moi d'avoir nowritebackup en place.

204
répondu Tomalak 2011-03-28 22:24:30

je pense que la meilleure solution est de placer ces lignes dans votre fichier vimrc""

set backupdir=~/vimtmp,.
set directory=~/vimtmp,.

, Vous devez créer un répertoire dans votre répertoire appelé vimtmp pour que cela fonctionne.

de cette façon vous obtenez le bénéfice des Deux Mondes, vous n'avez pas à voir les fichiers, mais si quelque chose se fait futzed vous pouvez aller chercher votre fichier de sauvegarde à partir de vimtmp. N'oubliez pas de nettoyer le répertoire de chaque maintenant et puis.

197
répondu user183135 2009-10-26 16:44:11

Pour éteindre ces fichiers, il suffit d'ajouter ces lignes .vimrc (fichier de configuration vim sur OS unix):

set nobackup       #no backup files
set nowritebackup  #only in case you don't want a backup file while editing
set noswapfile     #no swap files
23
répondu rogeriopvl 2009-03-03 18:14:59
:set nobackup 

désactivera les sauvegardes. Vous pouvez également définir une répertoire_sauvegarde si vous voulez que les fichiers de sauvegarde, mais dans un dossier central. De cette façon, votre travail dir n'est pas jonché de fichiers~.

Vous trouverez plus d'informations sur les sauvegardes sous :il sauvegarde .

12
répondu f3lix 2009-03-03 18:02:10

et vous pouvez également définir une extension de sauvegarde différente et où enregistrer ces sauvegardes (je préfère ~/.vimbackups sous linux). J'utilisais des sauvegardes "versioned", via:

au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'

définit une extension de sauvegarde dynamique ( ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup ).

11
répondu Zsolt Botykai 2012-02-06 07:11:10

vous avez raison, le fichier .swp est utilisé par vim pour le verrouillage et comme fichier de récupération.

essayez de mettre set nobackup dans votre vimrc si vous ne voulez pas de ces fichiers. Voir le Vim docs pour diverses options de sauvegarde si vous voulez le scoop entier, ou si vous voulez avoir .bak file à la place...

6
répondu dwc 2009-03-03 18:03:33

la seule option qui a fonctionné pour moi était de mettre cette ligne dans mon ~/.fichiers vimrc

set noundofile

les autres options se référant aux fichiers de sauvegarde n'ont pas empêché la création des fichiers temp se terminant par ~ (tilde)

4
répondu Logan 2017-04-06 15:18:01

mettez cette ligne dans votre vimrc :

set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile

dans Windows qui serait le fichier C:\Program Files (x86)\vim\_vimrc pour la configuration vim à l'échelle du système pour tous les utilisateurs.

mettre le dernier noundofile est important sous Windows pour empêcher la création des fichiers *~ tilda après avoir édité.


je souhaite que Vim eu cette ligne inclus par défaut. Personne n'aime les répertoires moches.

permet à l'utilisateur de choisir si et comment elle veut activer les fonctionnalités avancées de sauvegarde/annulation du fichier en premier.

C'est la partie la plus ennuyante de Vim.

l'étape suivante consiste à configurer set noeb vb t_vb= pour désactiver le bip :P

4
répondu w17t 2017-07-10 02:34:48

j'ai dû ajouter set noundofile à ~_gvimrc

le répertoire " ~ "peut être identifié en changeant le répertoire avec la commande cd ~ 151930920"

0
répondu Josh 2018-03-01 19:44:08