Qu'est-ce qu'un fichier .un ~ ou ou pourquoi Vim dans le Terminal crée-t-il le fichier .un ~?

93

J'ai remarqué que j'ai des fichiers dotfiles qui se terminent par .un~, par exemple j'ai un .vividchalk.vim.un~, mais je ne sais pas d'où cela vient. Il semble qu'ils soient créés lorsque j'utilise Vim dans le terminal. Quels sont ces fichiers? Puis-je les faire supprimer eux-mêmes lorsque je ferme le fichier que je modifie?

Kaplan
la source

Réponses:

136

Lorsque vous modifiez et enregistrez des fichiers, Vim crée un fichier avec le même nom que le fichier d'origine et une un~extension à la fin.

Vim 7.3 contient une nouvelle fonctionnalité d'annulation persistante, c'est-à-dire que les informations d'annulation ne seront pas perdues lors de la fermeture de Vim et seront stockées dans un fichier qui se termine par .un~. Vous avez défini l' undofileoption, donc Vim crée un fichier d'annulation lors de l'enregistrement du fichier d'origine. Vous pouvez empêcher Vim de créer le fichier de sauvegarde en désactivant l'option:

:set noundofile

Notez que, par défaut, cette option est désactivée. Vous avez explicitement activé l' undofileoption dans l'un des fichiers d'initialisation. Si vous souhaitez que vos annulations soient stockées uniquement dans un répertoire particulier, vous pouvez pointer l' undodiroption vers un répertoire qui contiendra toutes vos annulations agrégées.

Source: http://vimhelp.appspot.com/vim_faq.txt.html#faq-7.2

TheEwook
la source
4
Merci! Je suis nouveau sur Vim et j'essaie de comprendre et de configurer sans cultiver la cargaison. Je vois maintenant que ce paramètre vient vim-sensible. La lecture du ReadMe sur vim-sensible est très utile. Et j'ai appris (à partir d'un screencast peepcode) que je peux faire :verbose set undofile?et je vais voir où cette option est définie. Je pense que j'ai ce droit.
kaplan
1
J'ai Vim 7.3 et l'annulation persistante ne fonctionne pas pour moi (je dois avoir set undofilel'annulation persistante). D'autres paramètres interfèrent-ils avec la nouvelle fonctionnalité, par exemple nobackupou noswapfile?
Dennis
Je pense que l'installateur cream non-cream-vim définit également cette option activée par défaut.
Josiah Yoder
1
Oh mec !! maintenant je dois me souvenir: set nobackup set noswapfile set noundofiledans chaque _vimrc si je ne veux pas de pistes de chiots ?? !! Vous penseriez que l'un de ceux-ci pourrait être désactivé par défaut ou quelque chose du
genre
12
Il semble que vim 8 (au moins 8.0.427) ait cette fonctionnalité activée par défaut. YMMV bien sûr ...
Chuck Wolber
3

Il m'a fallu un certain temps pour trouver où placer la :set noundofilecommande. Je suis nouveau et je répondrai simplement en expliquant comment je l'ai fait ne pas faire de sauvegardes.

  1. Ouvrez vim.
  2. Tapez en mode commande :e $HOME/.vimrc
  3. Écrire :set noundofile
  4. Enregistrer et quitter: :wq
Spiros Skouras
la source
Cela fonctionne pour mon cas d'utilisation, c'est un peu différent: utiliser Vim dans ConEmu sous Windows. Merci!
Mário Meyrelles
J'ai des undofiles par défaut sur le programme d'installation de Windows vim. Votre guide m'a aidé, merci!
Cardin