117 votes

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

J'ai remarqué que j'ai des fichiers qui se terminent par "dotfiles". .un~ Par exemple, j'ai un .vividchalk.vim.un~ mais je ne suis pas sûr de savoir d'où ça vient. Il semble qu'ils soient créés lorsque j'utilise Vim dans le terminal. Que sont ces fichiers ? Peut-on les faire disparaître d'eux-mêmes lorsque je ferme le fichier que je suis en train d'éditer ?

158voto

TheEwook Points 4412

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

Vim 7.3 contient une nouvelle fonctionnalité : l'annulation persistante. ne seront pas perdues en quittant Vim et seront stockées dans un fichier qui se termine par .un~ . Vous avez réglé le undofile de sorte que Vim crée un fichier d'annulation lors de l'enregistrement de le fichier original. Vous pouvez empêcher Vim de créer le fichier de sauvegarde, en supprimant cette option :

:set noundofile

Notez que, par défaut, cette option est désactivée. Vous avez explicitement activé l'option undofile dans l'un des fichiers d'initialisation. Si vous voulez que vos undofiles ne soient stockés que dans un répertoire particulier, vous pouvez indiquer l'option undodir vers un répertoire qui contiendra tous vos undofiles agrégés.

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

9voto

Spiros Skouras Points 83

Ça m'a pris du temps pour trouver où mettre le :set noundofile commande. Je suis nouveau et je vais juste répondre en disant comment j'ai fait pour qu'il ne fasse pas de sauvegardes.

  1. Ouvrez vim.
  2. Tapez en mode commande :e $HOME/.vimrc
  3. Écrire à :set noundofile
  4. Sauvegarder et quitter : :wq

7voto

Brad Parks Points 5513

Une autre façon d'éviter que vim ne crée des fichiers d'annulation partout est de définir l'attribut undodir dans un répertoire existant, par exemple

if has('persistent_undo')         "check if your vim version supports
  set undodir=$HOME/.vim/undo     "directory where the undo files will be stored
  set undofile                    "turn on the feature
endif

accroché ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X