Comment empêcher vim de créer (et de quitter) des fichiers temporaires?

pourquoi vim crée-t-il des fichiers <filename>~ ? Est-il un moyen de le désactiver?

si c'est pour la sauvegarde (ou quelque chose comme ça), j'utilise git pour ça.

aussi, ces fichiers .<filename.with.path.hints>.swp aussi.

Comment dire à vim de ne pas les créer, ou du moins de nettoyer après lui?

MODIFIER

oups, double:

pourquoi vim enregistre-t-il des fichiers avec une extension~?

j'ai adopté rogeriopvl la réponse de à partir de là.

text copy:

set nobackup       "no backup files
set nowritebackup  "only in case you don't want a backup file while editing
set noswapfile     "no swap files
148
demandé sur Josh 2009-04-13 10:07:54

6 réponses

je recommande fortement de continuer à travailler avec les fichiers de pagination (en cas de crash de Vim).

vous pouvez définir le répertoire où les fichiers de pagination sont stockés, de sorte qu'ils ne encombrent pas vos répertoires normaux:

set swapfile
set dir=~/tmp

voir aussi

:help swap-file
65
répondu user55400 2009-04-15 07:48:29

mettez ça dans votre .fichier de configuration vimrc.

set nobackup
54
répondu Chad Birch 2012-07-07 02:13:22

; Pour les Utilisateurs de Windows en arrière pour le répertoire temp

set backup
set backupdir=C:\WINDOWS\Temp
set backupskip=C:\WINDOWS\Temp\*
set directory=C:\WINDOWS\Temp
set writebackup
26
répondu Sooraj 2011-08-04 13:16:28

j'ai fait un plugin appelé" noswapsuck " qui n'active le swapfile que lorsque le tampon contient des modifications non sauvegardées. Une fois les modifications sauvegardées, le fichier swap est effacé. Par conséquent, les fichiers swap qui contiennent le même contenu que le fichier sur disque seront supprimés.

: noswapsuck.vim

cela a bien fonctionné pour moi, mais je ne l'ai jamais rendu public avant, donc je serais heureux de recevoir des commentaires.

avantages:

  • les seuls fichiers swap qui restent sur votre disque seront des fichiers swap importants qui diffèrent en fait du fichier!

inconvénients:

  • si le tampon a un swapfile, il ne sera pas détecté lorsque le fichier est ouvert pour la première fois. Il ne sera détecté que lorsque swapfile est activé, c'est-à-dire lorsque vous commencez à éditer le buffer. C'est fâcheusement la fin, et de vous interrompre. (résolu: nous vérifions maintenant un fichier swap préexistant lorsqu'un tampon est ouvert, en activant Temporairement l'option swapfile à nouveau.)

  • si vous travaillez dans un environnement où vous voulez réduire au minimum les Écritures sur disque (par exemple faible puissance, ou des fichiers montés sur un réseau, ou éditant un fichier énorme), alors il n'est pas idéal de continuer à supprimer et à recréer le fichier de pagination sur chaque sauvegarde et édition. Dans de tels les situations, vous pouvez le faire:

    :let g:NoSwapSuck_CloseSwapfileOnWrite = 0
    

    qui gardera le fichier swap après une écriture, mais le supprimera quand le tampon perd sa mise au point.

soit dit en passant, j'ai un autre petit plugin :DiffAgainstFileOnDisk qui peut être très utile après avoir appuyé sur (r)ecover , pour vérifier si le buffer que vous avez récupéré est plus récent ou plus ancien que le fichier existant, ou identique à lui.

9
répondu joeytwiddle 2018-07-08 18:15:01

sur Windows ajouter les lignes suivantes à _vimrc

" store backup, undo, and swap files in temp directory
set directory=$HOME/temp//
set backupdir=$HOME/temp//
set undodir=$HOME/temp//
5
répondu Vlad Bezden 2017-04-07 19:56:29

cette réponse s'applique à L'utilisation de gVim sur Windows 10. Je ne peux pas garantir les mêmes résultats pour les autres systèmes d'exploitation.

ajouter:

set nobackup
set noswapfile
set noundofile

à votre fichier _vimrc.

Note: C'est la réponse directe à la question (Pour Windows 10) et probablement pas la chose la plus sûre à faire (lire les autres réponses), mais c'est la solution la plus rapide dans mon cas.

4
répondu William 2017-08-17 03:08:45