What is a .un~ file or or why does Vim in the Terminal make the .un~ file?

54,278

Solution 1

When you edit and save files, Vim creates a file with the same name as the original file and an un~ extension at the end.

Vim 7.3 contains a new feature persistent undo, that is, undo information won't be lost when quitting Vim and be stored in a file that ends with .un~. You have set the undofile option, so Vim creates an undo file when saving the original file. You can stop Vim from creating the backup file, by clearing the option:

:set noundofile

Note that, by default this option is turned off. You have explicitly enabled the undofile option in one of the initialization files. If you want your undofiles to be stored only in a particular directory, you can point the undodir option to a directory that will contain all your aggregated undofiles.

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

Solution 2

Took me a while to find where to actually put the :set noundofile command. I am new and I’ll just reply with how I made it not do backups.

  1. Open vim.
  2. Type in command mode :e $HOME/.vimrc
  3. Write :set noundofile
  4. Save & quit: :wq

Solution 3

Another possible way to avoid vim creating undo files everywhere is set set the undodir to some existing directory, e.g.

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

snagged from here

Share:
54,278

Related videos on Youtube

kaplan
Author by

kaplan

Updated on October 15, 2020

Comments

  • kaplan
    kaplan over 3 years

    I've noticed I have some dotfiles that end with .un~, for example I have a .vividchalk.vim.un~, but I'm not sure where that came from. It seems like they are created when I use Vim in the Terminal. What are these files? Can have them remove themselves when I close the file I'm editing?

  • kaplan
    kaplan over 11 years
    Thanks! I'm new to Vim and trying to understand and configure without cargo culting. I see now that setting is coming from vim-sensible. Reading the ReadMe on vim-sensible is very helpful. And I learned (from a peepcode screencast) that I can do :verbose set undofile? and I'll see where that option is set. I think I have that right.
  • Dennis
    Dennis about 11 years
    I have Vim 7.3 and persistent undo isn't working for me (I need to have set undofile to get the persistent undo). Do other settings interfere with the new feature, e.g. nobackup or noswapfile?
  • Josiah Yoder
    Josiah Yoder about 9 years
    I think the cream non-cream-vim-installer also sets this enabled by default.
  • ebyrob
    ebyrob over 6 years
    Oh man!! now I have to remember: set nobackup set noswapfile set noundofile in every _vimrc if I don't want puppy tracks??!! You'd think ONE of those could default to off or something...
  • Chuck Wolber
    Chuck Wolber over 6 years
    It appears as if vim 8 (at least 8.0.427) has this feature turned on by default. YMMV of course...
  • Mário Meyrelles
    Mário Meyrelles about 4 years
    It works for my use case, that is a little bit different: using Vim inside ConEmu on Windows. Thanks!
  • Cardin
    Cardin almost 4 years
    I got undofiles by default on vim windows installer. Your guide helped me, thanks!
  • Atralb
    Atralb over 3 years
    Just notifying that Vim installed on Windows with the default .exe installer found at vim.org does enable this option by default. At least as of 8.2.
  • Eric Duminil
    Eric Duminil about 3 years
    Exactly. Vim undo is an extremely valuable tool (when it doesn't litter your folders). I love :earlier 30m, for example.
  • Eric Duminil
    Eric Duminil about 3 years
    Please don't! Undo is an extremely valuable feature. You just need to define an undodir.
  • Ankit Chawla
    Ankit Chawla over 2 years
    This answer was what worked for me. Thanks.