Pourquoi Vim enregistre-t-il des fichiers avec une extension ~?

J’ai constaté que lorsque vous utilisez Vim sous Windows, Vim enregistre 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 .ext.swp Vim. Quel est le but du fichier .ext~ ? Est-ce un fichier de sauvegarde permanent? C’est embêtant car je voudrais copier tous les fichiers sur lesquels je travaille sur mon hôte, sans ces doublons. Comment puis-je désactiver ou , si c’est le cas, cacher les fichiers ?

Le fichier *.ext~ est un fichier de sauvegarde contenant le fichier tel qu’il était avant sa modification.

Le fichier *.ext.swp est le fichier d’échange, qui sert de fichier de locking et contient l’historique d’annulation / restauration ainsi que toute autre information interne dont Vim a besoin. En cas de plantage, vous pouvez ré-ouvrir votre fichier et Vim restaurera son état précédent à partir du fichier d’échange (que je trouve utile, donc je ne l’éteins pas).

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

 set nobackup set nowritebackup 

nowritebackup modifie le comportement par défaut “save” de Vim, à savoir:

  1. écrire un tampon dans un nouveau fichier
  2. supprimer le fichier d’origine
  3. renommer le nouveau fichier

et oblige Vim à écrire le tampon dans le fichier d’origine (ce qui risque de le détruire en cas d’erreur d’E / S). Mais vous évitez de “sauter des fichiers” sur le bureau Windows avec lui, ce qui est la principale raison pour laquelle j’ai maintenant nowritebackup en place.

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 personnel appelé vimtmp pour que cela fonctionne.

De cette façon, vous bénéficiez des deux mondes, vous n’avez pas besoin de voir les fichiers, mais si quelque chose se produit, vous pouvez aller chercher votre fichier de sauvegarde à partir de vimtmp. N’oubliez pas de nettoyer le répertoire de temps en temps.

Pour désactiver ces fichiers, ajoutez simplement ces lignes à .vimrc (fichier de configuration de vim sous un système d’exploitation basé sur 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 
 :set nobackup 

désactive les sauvegardes. Vous pouvez également définir un backupdir si vous voulez toujours ces fichiers de sauvegarde, mais dans un dossier central. De cette façon, votre répertoire de travail ne contient pas de fichiers.

Vous trouvez plus d’informations sur les sauvegardes sous : il sauvegarde .

Et vous pouvez également définir une extension de sauvegarde différente et où enregistrer ces sauvegardes (je préfère ~/.vimbackups sur Linux). J’avais l’habitude d’utiliser des sauvegardes “versionnées”, via:

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

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

Vous avez raison de dire que le fichier .swp est utilisé par vim pour le locking et en tant que fichier de récupération.

Essayez de mettre set nobackup dans votre vimrc si vous ne voulez pas ces fichiers. Reportez – vous aux documents Vim pour connaître les différentes options de sauvegarde si vous souhaitez obtenir l’intégralité du scoop ou si vous souhaitez utiliser des fichiers .bak à la place.

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

définir noundofile

Les autres options relatives aux fichiers de sauvegarde n’empêchaient pas la création des fichiers temporaires se terminant par ~ (tilde)

Mettez cette ligne dans votre vimrc :

 set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile 

Dans Windows, ce serait le fichier C:\Program Files (x86)\vim\_vimrc pour la configuration de vim à l’échelle du système pour tous les utilisateurs.

Définir le dernier noundofile est important dans Windows pour empêcher la création de fichiers *~ tilda après modification.


Je souhaite que Vim ait cette ligne incluse par défaut. Personne n’aime les répertoires laids.

Laissez l’utilisateur choisir si et comment il souhaite activer les fonctionnalités avancées de sauvegarde / suppression de fichiers en premier.

C’est la partie la plus agaçante de Vim.

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

Je devais append set noundofile à ~ _gvimrc

Le répertoire “~” peut être identifié en changeant le répertoire avec la commande cd ~