Lorsque je modifie des fichiers, Vim a tendance à créer des fichiers nommés , ce qui me gêne. Depuis , je vois que l' option supprime la création de fichiers d'échange..filename.swp
vim -h
-n
Existe-t-il une directive vimrc que je puisse utiliser pour désactiver les fichiers d'échange par défaut?
Quel est le but des fichiers d'échange et quelles sont les fonctionnalités qui me manqueraient si je les supprimais?
vimrc
crash-recovery
swap-file
200_success
la source
la source
noswapfile
ci-dessous. J'ai finalement cédé et éteint cela, cependant, parce qu'apparemment, les avantages l'emportent sur les inconvénients - buuuuuut, je ne me souviens pas réellement de ce qui m'a convaincu de restaurer l'utilisation des fichiers d'échange. Mon ordinateur est probablement tombé en panne et je ne pouvais pas restaurer certains fichiers que j'avais perdus, ce qui aurait été trivial si les fichiers d'échange étaient activés.Réponses:
Raisons pour les fichiers d'échange
Les fichiers d'échange stockent les modifications apportées à la mémoire tampon. Si Vim ou votre ordinateur se bloque, ils vous permettent de récupérer ces modifications.
Les fichiers d'échange permettent également d'éviter que plusieurs instances de Vim ne modifient le même fichier. Cela peut être utile sur les systèmes multi-utilisateurs ou simplement savoir si un autre Vim est déjà en train de modifier un fichier.
Désactiver les fichiers d'échange
Si vous souhaitez désactiver entièrement la création de fichiers d'échange (ce que je ne recommanderais pas), vous pouvez ajouter
set noswapfile
à votre fichier.vimrc
. Ceci définit la valeur globale de l'option. Vous pouvez ensuite remplacer cela pour des tampons spécifiques en utilisant:setlocal swapfile
lors de l'exécution de Vim.Organisation des fichiers d'échange
Si votre problème concerne davantage les fichiers supplémentaires répartis sur votre système de fichiers, vous pouvez regrouper tous les fichiers d'échange au même endroit. Par exemple, créez un
~/.vim/tmp
répertoire, puis ajoutezà votre
.vimrc
. L''directory'
option contient une liste de répertoires que Vim utilisera pour essayer de stocker le fichier d'échange.La
^=
syntaxe pour:set
préfixe le nom du répertoire à l'en-tête de la liste, donc Vim vérifiera d'abord ce répertoire.La
//
fin du nom du répertoire indique à Vim d'utiliser le chemin absolu du fichier pour créer le fichier d'échange afin d'éviter toute collision entre les fichiers du même nom provenant de différents répertoires.Notez que cela empêchera Vim de remarquer que plusieurs utilisateurs tentent de modifier le même fichier. Étant donné que le fichier d'échange ne se trouve pas dans le même répertoire que le fichier d'origine, Vim de l'autre utilisateur ne saura rien du fichier d'échange et ne les avertira pas qu'il est déjà en cours de modification.
la source
vim-auto-save
. Est-ce que cela ne rend pas obsolète le besoin de fichiers d'échange?vim temp.txt --some-command-that-disable-swap
? Mon cas d'utilisation est qu'un observateur surveillera tout changement dans le répertoire. Je souhaite donc désactiver le swap pour éviter les collisions.