Hi,

Is it possible to change the name of the swap file that Vim uses?

I have just started using a centralized location for swapfiles with the
'directory' option.  However, I am running into a problem of name space
collision, or lack of same.

Often I edit files with the same name in different directories.  Vim allows
this and has no problem creating two different swap files in the same dir.
However, this can cause a problem in a crash.

Example:
   1) editing /a/x.txt and /b/x.txt (directory set to .../swap)
   2) vim creates .../swap/x.txt.swp (for /a/x.txt) 
              and .../swap/x.txt.swo (for /b/x.txt)
   3) normally this is fine and vim tracks which swap file is for
      which file.
   4) vim crash (for whatever reason)
   5) now we try to edit /a/x.txt and vim sees x.txt.swp and prompts to
      recover, good as expected.
   6) We save the file and delete x.txt.swp
   7) now we edit /b/x.txt, vim looks in .../swap and does not see
      x.txt.swp (it does not know to look for x.txt.swo which is the
      correct swap for the file being edited) and happily lets you
      edit the corrupted file <-- FAIL
   
What I would like to do is create a function to prepend a dir "hash" to
the name of the swap file so that even in the scenario above the files
would have unique swap file names and this problem would be averted. 

My idea is to use the first letter of each segment of the path of the
file prepended to the swap file name (ex: swap files from above would be
a_x.txt.swp and b_x.txt.swp, editing /foo/bar/baz.txt would use the swap
file fb_baz.txt.swp) While fairly simplistic this would resolve the
problem in most cases.

Before I start wring this function, I want to know if it is even possible
to change the name of the swap file. Also, ideally I would want to keep
the original vim functionality of .swp .swo .swn .swm ... for reediting
the same file.

Thanks,

Matt



>From VIM's man-page:
    By setting the 'directory' option you can place the swap file in
    another place than where the edited file is.
    Advantages:
      - You will not pollute the directories with ".swp" files.
    Disadvantages:
      - You can get name collisions from files with the same name but in
        different directories (although Vim tries to avoid that by
        comparing the path name).

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to