top | item 25410963

(no title)

bananicorn | 5 years ago

Why would you not just set the location of the backup and swapfiles to a fixed place in your system?

Try this:

    set backupdir=~/.vim/backups,.
    set directory=~/.vim/swapfiles,.
It will only write in the current directory, if ~/.vim/backups does not exist, and the dot is just there for portability, so nothing breaks when using my vimrc on a new system.

Edit: Upon actually reading your blog-post, I understand at least one reason - my options may not change the behaviour of a file not being written to the correct inode, so you have a point for some build systems.

I actually learned rather much reading this, thank you for sharing!

discuss

order

nemetroid|5 years ago

You should end your swapfile directory setting with two slashes, i.e.:

  set directory=~/.vim/swapfiles//,.
From the help text for "directory":

> For Unix and Win32, if a directory ends in two path separators "//", the swap file name will be built from the complete path to the file with all path separators replaced by percent '%' signs (including the colon following the drive letter on Win32). This will ensure file name uniqueness in the preserve directory.

leephillips|5 years ago

In fact, I think your idea is better, and I’ll probably switch to doing that some day, just in case one of these files turns out to save me.

Edit: Hmmm. I’ll have to think some more about it. Anyway, glad you found my witeup useful.