diff runtime/doc/recover.txt @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 4102fb4ea781
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/doc/recover.txt
@@ -0,0 +1,165 @@
+*recover.txt*   For Vim version 7.0aa.  Last change: 2004 Apr 16
+
+
+		  VIM REFERENCE MANUAL    by Bram Moolenaar
+
+
+Recovery after a crash					*crash-recovery*
+
+You have spent several hours typing in that text that has to be finished
+next morning, and then disaster strikes: Your computer crashes.
+
+			DON'T PANIC!
+
+You can recover most of your changes from the files that Vim uses to store
+the contents of the file.  Mostly you can recover your work with one command:
+	vim -r filename
+
+1. The swap file	|swap-file|
+2. Recovery		|recovery|
+
+==============================================================================
+1. The swap file					*swap-file*
+
+Vim stores the things you changed in a swap file.  Using the original file
+you started from plus the swap file you can mostly recover your work.
+
+You can see the name of the current swap file being used with the command:
+
+	:sw[apname]					*:sw* *:swapname*
+
+The name of the swap file is normally the same as the file you are editing,
+with the extension ".swp".
+- On Unix, a '.' is prepended to swap file names in the same directory as the
+  edited file.  This avoids that the swap file shows up in a directory
+  listing.
+- On MS-DOS machines and when the 'shortname' option is on, any '.' in the
+  original file name is replaced with '_'.
+- If this file already exists (e.g., when you are recovering from a crash) a
+  warning is given and another extension is used, ".swo", ".swn", etc.
+- An existing file will never be overwritten.
+- The swap file is deleted as soon as Vim stops editing the file.
+
+Technical: The replacement of '.' with '_' is done to avoid problems with
+	   MS-DOS compatible filesystems (e.g., crossdos, multidos).  If Vim
+	   is able to detect that the file is on an MS-DOS-like filesystem, a
+	   flag is set that has the same effect as the 'shortname' option.
+	   This flag is reset when you start editing another file.
+							*E326*
+	   If the ".swp" file name already exists, the last character is
+	   decremented until there is no file with that name or ".saa" is
+	   reached.  In the last case, no swap file is created.
+
+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.
+- When the 'directory' is on another partition, reduce the risk of damaging
+  the file system where the file is (in a crash).
+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).
+  This will result in bogus ATTENTION warning messages.
+- When you use your home directory, and somebody else tries to edit the same
+  file, he will not see your swap file and will not get the ATTENTION waring
+  message.
+On the Amiga you can also use a recoverable ram disk, but there is no 100%
+guarantee that this works.  Putting swap files in a normal ram disk (like RAM:
+on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix)
+makes no sense, you will lose the swap file in a crash.
+
+If you want to put swap files in a fixed place, put a command resembling the
+following ones in your .vimrc:
+	:set dir=dh2:tmp	(for Amiga)
+	:set dir=~/tmp		(for Unix)
+	:set dir=c:\\tmp	(for MS-DOS and Win32)
+This is also very handy when editing files on floppy.  Of course you will have
+to create that "tmp" directory for this to work!
+
+For read-only files, a swap file is not used.  Unless the file is big, causing
+the amount of memory used to be higher than given with 'maxmem' or
+'maxmemtot'.  And when making a change to a read-only file, the swap file is
+created anyway.
+
+The 'swapfile' option can be reset to avoid creating a swapfile.
+
+
+Detecting an existing swap file ~
+
+You can find this in the user manual, section |11.3|.
+
+
+Updating the swapfile ~
+
+The swap file is updated after typing 200 characters or when you have not
+typed anything for four seconds.  This only happens if the buffer was
+changed, not when you only moved around.  The reason why it is not kept up to
+date all the time is that this would slow down normal work too much.  You can
+change the 200 character count with the 'updatecount' option.  You can set
+the time with the 'updatetime' option.  The time is given in milliseconds.
+After writing to the swap file Vim syncs the file to disk.  This takes some
+time, especially on busy Unix systems.  If you don't want this you can set the
+'swapsync' option to an empty string.  The risk of losing work becomes bigger
+though.  On some non-Unix systems (MS-DOS, Amiga) the swap file won't be
+written at all.
+
+If the writing to the swap file is not wanted, it can be switched off by
+setting the 'updatecount' option to 0.  The same is done when starting Vim
+with the "-n" option.  Writing can be switched back on by setting the
+'updatecount' option to non-zero.  Swap files will be created for all buffers
+when doing this.  But when setting 'updatecount' to zero, the existing swap
+files will not be removed, it will only affect files that will be opened
+after this.
+
+If you want to make sure that your changes are in the swap file use this
+command:
+
+					*:pre* *:preserve* *E313* *E314*
+:pre[serve]		Write all text for all buffers into swap file.  The
+			original file is no longer needed for recovery.  {Vi:
+			emergency exit}
+
+A Vim swap file can be recognized by the first six characters: "b0VIM ".
+After that comes the version number, e.g., "3.0".
+
+==============================================================================
+2. Recovery					*recovery* *E308* *E311*
+
+Basic file recovery is explained in the user manual: |usr_11.txt|.
+
+Another way to do recovery is to start Vim and use the ":recover" command.
+This is easy when you start Vim to edit a file and you get the "ATTENTION:
+Found a swap file ..." message.  In this case the single command ":recover"
+will do the work.  You can also give the name of the file or the swap file to
+the recover command:
+					*:rec* *:recover* *E305* *E306* *E307*
+:rec[over] [file]	Try to recover [file] from the swap file.  If [file]
+			is not given use the file name for the current
+			buffer.  The current contents of the buffer are lost.
+			This command fails if the buffer was modified.
+
+:rec[over]! [file]	Like ":recover", but any changes in the current
+			buffer are lost.
+
+							*E312* *E309* *E310*
+Vim has some intelligence about what to do if the swap file is corrupt in
+some way.  If Vim has doubt about what it found, it will give an error
+message and insert lines with "???" in the text.  If you see an error message
+while recovering, search in the file for "???" to see what is wrong.  You may
+want to cut and paste to get the text you need.
+
+The most common remark is "???LINES MISSING".  This means that Vim cannot read
+the text from the original file.  This can happen if the system crashed and
+parts of the original file were not written to disk.
+
+Be sure that the recovery was successful before overwriting the original
+file or deleting the swap file.  It is good practice to write the recovered
+file elsewhere and run 'diff' to find out if the changes you want are in the
+recovered file.
+
+Once you are sure the recovery is ok delete the swap file.  Otherwise, you
+will continue to get warning messages that the ".swp" file already exists.
+
+{Vi: recovers in another way and sends mail if there is something to recover}
+
+ vim:tw=78:ts=8:ft=help:norl: