annotate runtime/doc/usr_11.txt @ 1507:a6776e2c9f01 v7.1.222

updated for version 7.1-222
author vimboss
date Sun, 13 Jan 2008 12:31:34 +0000
parents c91e60e1c695
children 149d8b46404c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 1217
diff changeset
1 *usr_11.txt* For Vim version 7.1. Last change: 2006 Apr 24
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 VIM USER MANUAL - by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 Recovering from a crash
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 Did your computer crash? And you just spent hours editing? Don't panic! Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 keeps enough information on harddisk to be able to restore most of your work.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 This chapter shows you how to get your work back and explains how the swap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 file is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 |11.1| Basic recovery
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 |11.2| Where is the swap file?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 |11.3| Crashed or not?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 |11.4| Further reading
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 Next chapter: |usr_12.txt| Clever tricks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 Previous chapter: |usr_10.txt| Making big changes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 Table of contents: |usr_toc.txt|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 *11.1* Basic recovery
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 In most cases recovering a file is quite simple, assuming you know which file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 you were editing (and the harddisk is still working). Start Vim on the file,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 with the "-r" argument added: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 vim -r help.txt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 Vim will read the swap file (used to store text you were editing) and may read
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 bits and pieces of the original file. If all is well, you will see these
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 messages (with different file names, of course):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 Using swap file ".help.txt.swp" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 Original file "~/vim/runtime/doc/help.txt" ~
323
03b3684919e3 updated for version 7.0084
vimboss
parents: 237
diff changeset
37 Recovery completed. You should check if everything is OK. ~
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 (You might want to write out this file under another name ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 and run diff with the original file to check for changes) ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 Delete the .swp file afterwards. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 To be on the safe side, write this file under another name: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 :write help.txt.recovered
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 Compare the file with the original file to check if you ended up with what you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 expected. Vimdiff is very useful for this |08.7|. Watch out for the original
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 file to contain a more recent version (you saved the file just before the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 computer crashed). And check that no lines are missing (something went wrong
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 that Vim could not recover).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 If Vim produces warning messages when recovering, read them carefully.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 This is rare though.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 It's normal that the last few changes can not be recovered. Vim flushes the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 changes to disk when you don't type for about four seconds, or after typing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 about two hundred characters. This is set with the 'updatetime' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 'updatecount' options. Thus when Vim didn't get a chance to save itself when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 the system went down, the changes after the last flush will be lost.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 If you were editing without a file name, give an empty string as argument: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 vim -r ""
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 You must be in the right directory, otherwise Vim can't find the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 *11.2* Where is the swap file?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 Vim can store the swap file in several places. Normally it is in the same
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 directory as the original file. To find it, change to the directory of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 file, and use: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 vim -r
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 Vim will list the swap files that it can find. It will also look in other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 directories where the swap file for files in the current directory may be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 located. It will not find swap files in any other directories though, it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 doesn't search the directory tree.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 The output could look like this:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 Swap files found: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 In current directory: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 1. .main.c.swp ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 owned by: mool dated: Tue May 29 21:00:25 2001 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 file name: ~mool/vim/vim6/src/main.c ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 modified: YES ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 user name: mool host name: masaka.moolenaar.net ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 process ID: 12525 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 In directory ~/tmp: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 -- none -- ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 In directory /var/tmp: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 -- none -- ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 In directory /tmp: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 -- none -- ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 If there are several swap files that look like they may be the one you want to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 use, a list is given of these swap files and you are requested to enter the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 number of the one you want to use. Carefully look at the dates to decide
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 which one you want to use.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 In case you don't know which one to use, just try them one by one and check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 the resulting files if they are what you expected.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 USING A SPECIFIC SWAP FILE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 If you know which swap file needs to be used, you can recover by giving the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 swap file name. Vim will then finds out the name of the original file from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 vim -r .help.txt.swo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 This is also handy when the swap file is in another directory than expected.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 If this still does not work, see what file names Vim reports and rename the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 files accordingly. Check the 'directory' option to see where Vim may have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 put the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 Note:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 Vim tries to find the swap file by searching the directories in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 'dir' option, looking for files that match "filename.sw?". If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 wildcard expansion doesn't work (e.g., when the 'shell' option is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 invalid), Vim does a desperate try to find the file "filename.swp".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 If that fails too, you will have to give the name of the swapfile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 itself to be able to recover the file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 *11.3* Crashed or not? *ATTENTION* *E325*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 Vim tries to protect you from doing stupid things. Suppose you innocently
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 start editing a file, expecting the contents of the file to show up. Instead,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 Vim produces a very long message:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 E325: ATTENTION ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 Found a swap file by the name ".main.c.swp" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 owned by: mool dated: Tue May 29 21:09:28 2001 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 file name: ~mool/vim/vim6/src/main.c ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 modified: no ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 user name: mool host name: masaka.moolenaar.net ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 process ID: 12559 (still running) ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 While opening file "main.c" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 dated: Tue May 29 19:46:12 2001 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 (1) Another program may be editing the same file. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 If this is the case, be careful not to end up with two ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 different instances of the same file when making changes. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 Quit, or continue with caution. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 (2) An edit session for this file crashed. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 If this is the case, use ":recover" or "vim -r main.c" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 to recover the changes (see ":help recovery"). ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 If you did this already, delete the swap file ".main.c.swp" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 to avoid this message. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 You get this message, because, when starting to edit a file, Vim checks if a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 swap file already exists for that file. If there is one, there must be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 something wrong. It may be one of these two situations.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 1. Another edit session is active on this file. Look in the message for the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 line with "process ID". It might look like this:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 process ID: 12559 (still running) ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 The text "(still running)" indicates that the process editing this file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 runs on the same computer. When working on a non-Unix system you will not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 get this extra hint. When editing a file over a network, you may not see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 the hint, because the process might be running on another computer. In
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 those two cases you must find out what the situation is yourself.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 If there is another Vim editing the same file, continuing to edit will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 result in two versions of the same file. The one that is written last will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 overwrite the other one, resulting in loss of changes. You better quit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 this Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 2. The swap file might be the result from a previous crash of Vim or the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 computer. Check the dates mentioned in the message. If the date of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 swap file is newer than the file you were editing, and this line appears:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 modified: YES ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 Then you very likely have a crashed edit session that is worth recovering.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 If the date of the file is newer than the date of the swap file, then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 either it was changed after the crash (perhaps you recovered it earlier,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 but didn't delete the swap file?), or else the file was saved before the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 crash but after the last write of the swap file (then you're lucky: you
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
184 don't even need that old swap file). Vim will warn you for this with this
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 extra line:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 NEWER than swap file! ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 UNREADABLE SWAP FILE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 Sometimes the line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 [cannot be read] ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
196 will appear under the name of the swap file. This can be good or bad,
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 depending on circumstances.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 It is good if a previous editing session crashed without having made any
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
200 changes to the file. Then a directory listing of the swap file will show
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
201 that it has zero bytes. You may delete it and proceed.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
203 It is slightly bad if you don't have read permission for the swap file. You
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
204 may want to view the file read-only, or quit. On multi-user systems, if you
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 yourself did the last changes under a different login name, a logout
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 7
diff changeset
206 followed by a login under that other name might cure the "read error". Or
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 else you might want to find out who last edited (or is editing) the file and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 have a talk with them.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 It is very bad if it means there is a physical read error on the disk
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 containing the swap file. Fortunately, this almost never happens.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 You may want to view the file read-only at first (if you can), to see the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 extent of the changes that were "forgotten". If you are the one in charge of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 that file, be prepared to redo your last changes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 WHAT TO DO?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 If dialogs are supported you will be asked to select one of five choices:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 Swap file ".main.c.swp" already exists! ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete it: ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 O Open the file readonly. Use this when you just want to view the file and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 don't need to recover it. You might want to use this when you know someone
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 else is editing the file, but you just want to look in it and not make
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 changes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 E Edit the file anyway. Use this with caution! If the file is being edited
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 in another Vim, you might end up with two versions of the file. Vim will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 try to warn you when this happens, but better be safe then sorry.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 R Recover the file from the swap file. Use this if you know that the swap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 file contains changes that you want to recover.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 Q Quit. This avoids starting to edit the file. Use this if there is another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 Vim editing the same file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 When you just started Vim, this will exit Vim. When starting Vim with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 files in several windows, Vim quits only if there is a swap file for the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 first one. When using an edit command, the file will not be loaded and you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 are taken back to the previously edited file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 A Abort. Like Quit, but also abort further commands. This is useful when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 loading a script that edits several files, such as a session with multiple
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 windows.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 D Delete the swap file. Use this when you are sure you no longer need it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 For example, when it doesn't contain changes, or when the file itself is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 newer than the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 On Unix this choice is only offered when the process that created the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 swap file does not appear to be running.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 If you do not get the dialog (you are running a version of Vim that does not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 support it), you will have to do it manually. To recover the file, use this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 command: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 :recover
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 Vim cannot always detect that a swap file already exists for a file. This is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 the case when the other edit session puts the swap files in another directory
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 or when the path name for the file is different when editing it on different
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 machines. Therefore, don't rely on Vim always warning you.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 If you really don't want to see this message, you can add the 'A' flag to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 'shortmess' option. But it's very unusual that you need this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 *11.4* Further reading
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 |swap-file| An explanation about where the swap file will be created and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 what its name is.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 |:preserve| Manually flushing the swap file to disk.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 |:swapname| See the name of the swap file for the current file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 'updatecount' Number of key strokes after which the swap file is flushed to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 disk.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 'updatetime' Timeout after which the swap file is flushed to disk.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 'swapsync' Whether the disk is synced when the swap file is flushed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 'directory' List of directory names where to store the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 'maxmem' Limit for memory usage before writing text to the swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 'maxmemtot' Same, but for all files in total.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 Next chapter: |usr_12.txt| Clever tricks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl: