and, I just found that I had the swap file disabled :(



On May 16, 2013, at 10:41 PM, ping <[email protected]> wrote:

> On 5/16/2013 8:48 PM, Gary Johnson wrote:
>> On 2013-05-16, ping wrote:
>>> guys:
>>> My PC (ubuntu) just restarted by itself due to the (stupid) overheat
>>> issue, again (I couldn't find a solution on that in a year..)
>>> 
>>> but regardless, I had a file that I had been editing for quite a while.
>>> all of a sudden the PC reloaded, now I'm wondering how can I recover
>>> that file.
>>> 
>>> I tried both of the following method , but none of them give me the
>>> right file.
>>> 
>>> one thing I've notice that if I'm in different folder, vim -r give me
>>> different files. I tried to change to different folder and invoke vim
>>> -r, but still failed to find the right one (per the timestamp) for
>>> me...
>>> 
>>> any other good ideals?
>>> 
>>> maybe the last resort, do I have to grep from the whole harddisk for this?
>>> 
>>> and, what's the best practice to solve this issue in the future
>>> (lesson learned for me: always use a named buffer ) ?
>>> 
>>> 
>>> 1) :recover
>>> 
>>> Swap files found:
>>>    Using specified name:
>>> 1.    .swa
>>>           owned by: ping   dated: Fri Jan 21 17:26:35 2011
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 14418
>>> 2.    .swb
>>>           owned by: ping   dated: Wed Dec 29 14:32:22 2010
>>>          file name: [No Name]
>>>           modified: no
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 7874
>>> 3.    .swc
>>>           owned by: ping   dated: Fri Dec 17 17:05:02 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 2735
>>> 4.    .swd
>>>           owned by: ping   dated: Mon Dec  6 17:57:06 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 22947
>>> 5.    .swe
>>>           owned by: ping   dated: Fri Oct 29 08:15:23 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 20799
>>> 6.    .swf
>>>           owned by: ping   dated: Thu Dec  2 13:05:32 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 5370
>>> 7.    .swg
>>>           owned by: ping   dated: Sat Oct 23 11:38:18 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 4930
>>> 8.    .swh
>>>           owned by: ping   dated: Sat Oct 23 06:40:55 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 3119
>>> 9.    .swi
>>>           owned by: ping   dated: Sat Oct 16 23:28:22 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 13572
>>> 10.    .swj
>>>           owned by: ping   dated: Sat Oct 23 06:35:33 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 4930
>>> 11.    .swk
>>>           owned by: ping   dated: Tue Oct 12 10:15:05 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 13672
>>> 12.    .swl
>>>           owned by: ping   dated: Sun Oct 10 06:44:29 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 26777
>>> 13.    .swm
>>>           owned by: ping   dated: Wed Oct  6 00:44:37 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 29373
>>> 14.    .swn
>>>           owned by: ping   dated: Tue Oct  5 03:59:02 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 29373
>>> 15.    .swo
>>>           owned by: ping   dated: Sun Sep 26 09:34:44 2010
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 3824
>>> 16.    .swp
>>>           owned by: ping   dated: Fri Apr 20 15:59:12 2012
>>>          file name: [No Name]
>>>           modified: YES
>>>          user name: ping   host name: 640g-laptop
>>>         process ID: 17594
>>>    In directory ~/tmp:
>>>       -- none --
>>>    In directory /var/tmp:
>>>       -- none --
>>>    In directory /tmp:
>>>       -- none --
>>> 
>>> Enter number of swap file to use (0 to quit): 0
>> After a quick look at Vim's memline.c, I think you are the victim of
>> poor housekeeping and a bug in Vim.  You may still be able to
>> recover your files though.
>> 
>> Note that your oldest swap file is named ".swp", the next oldest is
>> named ".swo", and that pattern of decreasing last letters continues
>> through your newest swap file which is named ".swa".  Note, too,
>> that your newest swap file is pretty old, from January 2011.  I
>> doubt that that is the last time you used an unnamed buffer.
>> 
>> When Vim creates a swap file, it first tries the suffix ".swp".  If
>> that file exists, Vim decrements the last letter and tries again.
>> When the suffix becomes ".swa" and that file exists, Vim then
>> decrements the second-to-last letter, sets the last letter to "z",
>> and tries again.  It continues to look for swap file names that
>> don't exists until it reaches the suffix ".saa", then gives up.
>> 
>> Now, when Vim looks for swap files, it looks for files with suffixes
>> matching the pattern ".sw?".  This will find only the first 16 swap
>> files.  It ignores any swap files created with a second letter other
>> than "w".
>> 
>> That is a bug and needs to be fixed.  Vim should either look for
>> swap files whose suffixes match the pattern ".s??" or stop creating
>> swap files with suffixes whose second letter is other than "w".
>> 
>> To your problem:  It is quite likely that the same directories that
>> contain files named ".swa" also contain files named ".svz", ".svy",
>> and so on.  Those are valid Vim swap files, but Vim doesn't
>> recognize them as such by those names.
>> 
>> I would suggest first verifying that you do not care about the files
>> matching the pattern ".sw?", then delete them.  Then find the newest
>> file with a name matching the pattern ".s??", rename it to ".swp",
>> and try recovering it.
>> 
>> Once you've recovered all your files, I would suggest that you close
>> all instances of Vim and do a sweep of your file system using find
>> (not grep) to find all your swap files.  Again be sure that you do
>> not need them, then delete them all.  In the future, pay attention
>> to swap files left over after crashes and keep them cleaned up.
>> 
>> Regards,
>> Gary
>> 
> thanks Gary,  I think I only undertsand some part of your explanations.
> can you detail the steps for me to recover my file?
> 
> 

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to