Mercurial > vim
annotate runtime/doc/diff.txt @ 18838:8dabdfc7c799 v8.1.2406
patch 8.1.2406: leaking memory in test_paste and test_registers
Commit: https://github.com/vim/vim/commit/6b649ac4fd0cbf88c5a05d82ad151d0ce980916a
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 7 17:47:22 2019 +0100
patch 8.1.2406: leaking memory in test_paste and test_registers
Problem: Leaking memory in test_paste and test_registers.
Solution: Free the old title. Don't copy expr_line.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 Dec 2019 18:00:03 +0100 |
parents | e9a47bcf7b94 |
children | af69c9335223 |
rev | line source |
---|---|
18594 | 1 *diff.txt* For Vim version 8.1. Last change: 2019 Nov 10 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Bram Moolenaar | |
5 | |
6 | |
7 *diff* *vimdiff* *gvimdiff* *diff-mode* | |
9955
f52b263fb3f0
commit https://github.com/vim/vim/commit/015efc32c1add6269099364835ddf85ff257b3c6
Christian Brabandt <cb@256bit.org>
parents:
7228
diff
changeset
|
8 This file describes the |+diff| feature: Showing differences between two to |
f52b263fb3f0
commit https://github.com/vim/vim/commit/015efc32c1add6269099364835ddf85ff257b3c6
Christian Brabandt <cb@256bit.org>
parents:
7228
diff
changeset
|
9 eight versions of the same file. |
7 | 10 |
11 The basics are explained in section |08.7| of the user manual. | |
12 | |
12559 | 13 1. Starting diff mode |start-vimdiff| |
7 | 14 2. Viewing diffs |view-diffs| |
15 3. Jumping to diffs |jumpto-diffs| | |
16 4. Copying diffs |copy-diffs| | |
17 5. Diff options |diff-options| | |
18 | |
19 ============================================================================== | |
12559 | 20 1. Starting diff mode *start-vimdiff* |
7 | 21 |
22 The easiest way to start editing in diff mode is with the "vimdiff" command. | |
23 This starts Vim as usual, and additionally sets up for viewing the differences | |
24 between the arguments. > | |
25 | |
26 vimdiff file1 file2 [file3 [file4]] | |
27 | |
28 This is equivalent to: > | |
29 | |
30 vim -d file1 file2 [file3 [file4]] | |
31 | |
32 You may also use "gvimdiff" or "vim -d -g". The GUI is started then. | |
33 You may also use "viewdiff" or "gviewdiff". Vim starts in readonly mode then. | |
34 "r" may be prepended for restricted mode (see |-Z|). | |
35 | |
36 The second and following arguments may also be a directory name. Vim will | |
37 then append the file name of the first argument to the directory name to find | |
38 the file. | |
39 | |
14696
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
40 By default an internal diff library will be used. When 'diffopt' or |
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
41 'diffexpr' has been set an external "diff" command will be used. This only |
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
42 works when such a diff program is available. |
7 | 43 |
674 | 44 Diffs are local to the current tab page |tab-page|. You can't see diffs with |
45 a window in another tab page. This does make it possible to have several | |
46 diffs at the same time, each in their own tab page. | |
47 | |
7 | 48 What happens is that Vim opens a window for each of the files. This is like |
49 using the |-O| argument. This uses vertical splits. If you prefer horizontal | |
50 splits add the |-o| argument: > | |
51 | |
1698 | 52 vimdiff -o file1 file2 [file3 [file4]] |
7 | 53 |
766 | 54 If you always prefer horizontal splits include "horizontal" in 'diffopt'. |
55 | |
7 | 56 In each of the edited files these options are set: |
57 | |
58 'diff' on | |
59 'scrollbind' on | |
2445
04dae202d316
Fixes for coverity warnings.
Bram Moolenaar <bram@vim.org>
parents:
2413
diff
changeset
|
60 'cursorbind' on |
7 | 61 'scrollopt' includes "hor" |
62 'wrap' off | |
63 'foldmethod' "diff" | |
766 | 64 'foldcolumn' value from 'diffopt', default is 2 |
7 | 65 |
66 These options are set local to the window. When editing another file they are | |
67 reset to the global value. | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
68 The options can still be overruled from a modeline when re-editing the file. |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
69 However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
70 set. |
18594 | 71 See `:diffoff` for an easy way to revert the options. |
7 | 72 |
73 The differences shown are actually the differences in the buffer. Thus if you | |
74 make changes after loading a file, these will be included in the displayed | |
75 diffs. You might have to do ":diffupdate" now and then, not all changes are | |
18594 | 76 immediately taken into account, especially when using an external diff command. |
7 | 77 |
78 In your .vimrc file you could do something special when Vim was started in | |
79 diff mode. You could use a construct like this: > | |
80 | |
81 if &diff | |
82 setup for diff mode | |
83 else | |
84 setup for non-diff mode | |
85 endif | |
86 | |
87 While already in Vim you can start diff mode in three ways. | |
88 | |
89 *E98* | |
3830 | 90 :diffs[plit] {filename} *:diffs* *:diffsplit* |
7 | 91 Open a new window on the file {filename}. The options are set |
92 as for "vimdiff" for the current and the newly opened window. | |
93 Also see 'diffexpr'. | |
94 | |
95 *:difft* *:diffthis* | |
3830 | 96 :difft[his] Make the current window part of the diff windows. This sets |
16 | 97 the options like for "vimdiff". |
7 | 98 |
5929 | 99 :diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch* |
7 | 100 Use the current buffer, patch it with the diff found in |
101 {patchfile} and open a buffer on the result. The options are | |
102 set as for "vimdiff". | |
103 {patchfile} can be in any format that the "patch" program | |
104 understands or 'patchexpr' can handle. | |
105 Note that {patchfile} should only contain a diff for one file, | |
106 the current file. If {patchfile} contains diffs for other | |
107 files as well, the results are unpredictable. Vim changes | |
108 directory to /tmp to avoid files in the current directory | |
109 accidentally being patched. But it may still result in | |
110 various ".rej" files to be created. And when absolute path | |
111 names are present these files may get patched anyway. | |
112 | |
113 To make these commands use a vertical split, prepend |:vertical|. Examples: > | |
114 | |
115 :vert diffsplit main.c~ | |
116 :vert diffpatch /tmp/diff | |
766 | 117 |
118 If you always prefer a vertical split include "vertical" in 'diffopt'. | |
119 | |
7 | 120 *E96* |
9955
f52b263fb3f0
commit https://github.com/vim/vim/commit/015efc32c1add6269099364835ddf85ff257b3c6
Christian Brabandt <cb@256bit.org>
parents:
7228
diff
changeset
|
121 There can be up to eight buffers with 'diff' set. |
7 | 122 |
123 Since the option values are remembered with the buffer, you can edit another | |
124 file for a moment and come back to the same file and be in diff mode again. | |
16 | 125 |
126 *:diffo* *:diffoff* | |
5362
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
127 :diffo[ff] Switch off diff mode for the current window. Resets related |
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
128 options also when 'diff' was not set. |
16 | 129 |
3830 | 130 :diffo[ff]! Switch off diff mode for the current window and in all windows |
5362
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
131 in the current tab page where 'diff' is set. Resetting |
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
132 related options only happens in a window that has 'diff' set, |
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
133 if the current window does not have 'diff' set then no options |
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
134 in it are changed. |
10895
c391bfbdb452
Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
135 Hidden buffers are also removed from the list of diff'ed |
c391bfbdb452
Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
136 buffers. |
7 | 137 |
6918 | 138 The `:diffoff` command resets the relevant options to the values they had when |
139 using `:diffsplit`, `:diffpatch` , `:diffthis`. or starting Vim in diff mode. | |
140 When using `:diffoff` twice the last saved values are restored. | |
5161
f7add3891e95
Updated runtime files. Fix NL translations.
Bram Moolenaar <bram@vim.org>
parents:
5146
diff
changeset
|
141 Otherwise they are set to their default value: |
16 | 142 |
143 'diff' off | |
144 'scrollbind' off | |
2445
04dae202d316
Fixes for coverity warnings.
Bram Moolenaar <bram@vim.org>
parents:
2413
diff
changeset
|
145 'cursorbind' off |
16 | 146 'scrollopt' without "hor" |
147 'wrap' on | |
148 'foldmethod' "manual" | |
149 'foldcolumn' 0 | |
7 | 150 |
151 ============================================================================== | |
152 2. Viewing diffs *view-diffs* | |
153 | |
154 The effect is that the diff windows show the same text, with the differences | |
155 highlighted. When scrolling the text, the 'scrollbind' option will make the | |
156 text in other windows to be scrolled as well. With vertical splits the text | |
157 should be aligned properly. | |
158 | |
159 The alignment of text will go wrong when: | |
160 - 'wrap' is on, some lines will be wrapped and occupy two or more screen | |
161 lines | |
162 - folds are open in one window but not another | |
163 - 'scrollbind' is off | |
164 - changes have been made to the text | |
165 - "filler" is not present in 'diffopt', deleted/inserted lines makes the | |
166 alignment go wrong | |
167 | |
168 All the buffers edited in a window where the 'diff' option is set will join in | |
169 the diff. This is also possible for hidden buffers. They must have been | |
10895
c391bfbdb452
Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
170 edited in a window first for this to be possible. To get rid of the hidden |
c391bfbdb452
Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
171 buffers use `:diffoff!`. |
7 | 172 |
1121 | 173 *:DiffOrig* *diff-original-file* |
7 | 174 Since 'diff' is a window-local option, it's possible to view the same buffer |
175 in diff mode in one window and "normal" in another window. It is also | |
1121 | 176 possible to view the changes you have made to a buffer since the file was |
177 loaded. Since Vim doesn't allow having two buffers for the same file, you | |
178 need another buffer. This command is useful: > | |
2788 | 179 command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ |
180 \ | diffthis | wincmd p | diffthis | |
16023 | 181 (this is in |defaults.vim|). Use ":DiffOrig" to see the differences between |
182 the current buffer and the file it was loaded from. | |
7 | 183 |
184 A buffer that is unloaded cannot be used for the diff. But it does work for | |
185 hidden buffers. You can use ":hide" to close a window without unloading the | |
195 | 186 buffer. If you don't want a buffer to remain used for the diff do ":set |
187 nodiff" before hiding it. | |
7 | 188 |
16944 | 189 *:dif* *:diff* *:diffupdate* |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
6918
diff
changeset
|
190 :dif[fupdate][!] Update the diff highlighting and folds. |
270 | 191 |
7 | 192 Vim attempts to keep the differences updated when you make changes to the |
193 text. This mostly takes care of inserted and deleted lines. Changes within a | |
194 line and more complicated changes do not cause the differences to be updated. | |
195 To force the differences to be updated use: > | |
196 | |
197 :diffupdate | |
198 | |
3524 | 199 If the ! is included Vim will check if the file was changed externally and |
200 needs to be reloaded. It will prompt for each changed file, like `:checktime` | |
201 was used. | |
7 | 202 |
203 Vim will show filler lines for lines that are missing in one window but are | |
204 present in another. These lines were inserted in another file or deleted in | |
205 this file. Removing "filler" from the 'diffopt' option will make Vim not | |
206 display these filler lines. | |
207 | |
208 | |
209 Folds are used to hide the text that wasn't changed. See |folding| for all | |
210 the commands that can be used with folds. | |
211 | |
212 The context of lines above a difference that are not included in the fold can | |
213 be set with the 'diffopt' option. For example, to set the context to three | |
214 lines: > | |
215 | |
216 :set diffopt=filler,context:3 | |
217 | |
218 | |
219 The diffs are highlighted with these groups: | |
220 | |
221 |hl-DiffAdd| DiffAdd Added (inserted) lines. These lines exist in | |
222 this buffer but not in another. | |
223 |hl-DiffChange| DiffChange Changed lines. | |
224 |hl-DiffText| DiffText Changed text inside a Changed line. Vim | |
225 finds the first character that is different, | |
226 and the last character that is different | |
227 (searching from the end of the line). The | |
228 text in between is highlighted. This means | |
229 that parts in the middle that are still the | |
12499 | 230 same are highlighted anyway. The 'diffopt' |
231 flags "iwhite" and "icase" are used here. | |
4098 | 232 |hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines, |
7 | 233 because they don't really exist in this |
234 buffer. | |
235 | |
236 ============================================================================== | |
237 3. Jumping to diffs *jumpto-diffs* | |
238 | |
239 Two commands can be used to jump to diffs: | |
240 *[c* | |
241 [c Jump backwards to the previous start of a change. | |
242 When a count is used, do it that many times. | |
243 *]c* | |
244 ]c Jump forwards to the next start of a change. | |
245 When a count is used, do it that many times. | |
246 | |
247 It is an error if there is no change for the cursor to move to. | |
248 | |
249 ============================================================================== | |
250 4. Diff copying *copy-diffs* *E99* *E100* *E101* *E102* *E103* | |
532 | 251 *merge* |
7 | 252 There are two commands to copy text from one buffer to another. The result is |
253 that the buffers will be equal within the specified range. | |
254 | |
255 *:diffg* *:diffget* | |
256 :[range]diffg[et] [bufspec] | |
257 Modify the current buffer to undo difference with another | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
258 buffer. If [bufspec] is given, that buffer is used. If |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
259 [bufspec] refers to the current buffer then nothing happens. |
7 | 260 Otherwise this only works if there is one other buffer in diff |
261 mode. | |
262 See below for [range]. | |
263 | |
1121 | 264 *:diffpu* *:diffput* *E793* |
7 | 265 :[range]diffpu[t] [bufspec] |
266 Modify another buffer to undo difference with the current | |
267 buffer. Just like ":diffget" but the other buffer is modified | |
268 instead of the current one. | |
532 | 269 When [bufspec] is omitted and there is more than one other |
270 buffer in diff mode where 'modifiable' is set this fails. | |
7 | 271 See below for [range]. |
272 | |
273 *do* | |
6336 | 274 [count]do Same as ":diffget" without range. The "o" stands for "obtain" |
275 ("dg" can't be used, it could be the start of "dgg"!). Note: | |
276 this doesn't work in Visual mode. | |
277 If you give a [count], it is used as the [bufspec] argument | |
278 for ":diffget". | |
7 | 279 |
280 *dp* | |
6336 | 281 [count]dp Same as ":diffput" without range. Note: this doesn't work in |
282 Visual mode. | |
283 If you give a [count], it is used as the [bufspec] argument | |
284 for ":diffput". | |
2596 | 285 |
7 | 286 |
287 When no [range] is given, the diff at the cursor position or just above it is | |
288 affected. When [range] is used, Vim tries to only put or get the specified | |
289 lines. When there are deleted lines, this may not always be possible. | |
290 | |
291 There can be deleted lines below the last line of the buffer. When the cursor | |
292 is on the last line in the buffer and there is no diff above this line, the | |
293 ":diffget" and "do" commands will obtain lines from the other buffer. | |
294 | |
295 To be able to get those lines from another buffer in a [range] it's allowed to | |
296 use the last line number plus one. This command gets all diffs from the other | |
297 buffer: > | |
298 | |
299 :1,$+1diffget | |
300 | |
301 Note that deleted lines are displayed, but not counted as text lines. You | |
302 can't move the cursor into them. To fill the deleted lines with the lines | |
303 from another buffer use ":diffget" on the line below them. | |
819 | 304 *E787* |
305 When the buffer that is about to be modified is read-only and the autocommand | |
306 that is triggered by |FileChangedRO| changes buffers the command will fail. | |
307 The autocommand must not change buffers. | |
7 | 308 |
309 The [bufspec] argument above can be a buffer number, a pattern for a buffer | |
310 name or a part of a buffer name. Examples: | |
311 | |
312 :diffget Use the other buffer which is in diff mode | |
313 :diffget 3 Use buffer 3 | |
314 :diffget v2 Use the buffer which matches "v2" and is in | |
315 diff mode (e.g., "file.c.v2") | |
316 | |
317 ============================================================================== | |
318 5. Diff options *diff-options* | |
319 | |
320 Also see |'diffopt'| and the "diff" item of |'fillchars'|. | |
321 | |
6583 | 322 *diff-slow* *diff_translations* |
323 For very long lines, the diff syntax highlighting might be slow, especially | |
324 since it tries to match all different kind of localisations. To disable | |
325 localisations and speed up the syntax highlighting, set the global variable | |
326 g:diff_translations to zero: > | |
327 | |
328 let g:diff_translations = 0 | |
329 < | |
12756
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
12559
diff
changeset
|
330 After setting this variable, reload the syntax script: > |
6583 | 331 |
332 set syntax=diff | |
333 < | |
334 | |
7 | 335 |
336 FINDING THE DIFFERENCES *diff-diffexpr* | |
337 | |
338 The 'diffexpr' option can be set to use something else than the standard | |
17571 | 339 "diff" program to compare two files and find the differences. *E959* |
7 | 340 |
341 When 'diffexpr' is empty, Vim uses this command to find the differences | |
342 between file1 and file2: > | |
343 | |
344 diff file1 file2 > outfile | |
345 | |
346 The ">" is replaced with the value of 'shellredir'. | |
347 | |
14696
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
348 The output of "diff" must be a normal "ed" style diff or a unified diff. Do |
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
349 NOT use a context diff. This example explains the format that Vim expects for |
195e8b1fcbbf
patch 8.1.0360: using an external diff program is slow and inflexible
Christian Brabandt <cb@256bit.org>
parents:
14519
diff
changeset
|
350 the "ed" style diff: > |
7 | 351 |
352 1a2 | |
353 > bbb | |
354 4d4 | |
355 < 111 | |
356 7c7 | |
357 < GGG | |
358 --- | |
359 > ggg | |
360 | |
361 The "1a2" item appends the line "bbb". | |
362 The "4d4" item deletes the line "111". | |
3750 | 363 The "7c7" item replaces the line "GGG" with "ggg". |
7 | 364 |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
365 When 'diffexpr' is not empty, Vim evaluates it to obtain a diff file in the |
7 | 366 format mentioned. These variables are set to the file names used: |
367 | |
368 v:fname_in original file | |
369 v:fname_new new version of the same file | |
370 v:fname_out resulting diff file | |
371 | |
372 Additionally, 'diffexpr' should take care of "icase" and "iwhite" in the | |
373 'diffopt' option. 'diffexpr' cannot change the value of 'lines' and | |
374 'columns'. | |
375 | |
376 Example (this does almost the same as 'diffexpr' being empty): > | |
377 | |
378 set diffexpr=MyDiff() | |
379 function MyDiff() | |
380 let opt = "" | |
381 if &diffopt =~ "icase" | |
382 let opt = opt . "-i " | |
383 endif | |
384 if &diffopt =~ "iwhite" | |
385 let opt = opt . "-b " | |
386 endif | |
387 silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new . | |
388 \ " > " . v:fname_out | |
14519 | 389 redraw! |
7 | 390 endfunction |
391 | |
392 The "-a" argument is used to force comparing the files as text, comparing as | |
393 binaries isn't useful. The "--binary" argument makes the files read in binary | |
394 mode, so that a CTRL-Z doesn't end the text on DOS. | |
395 | |
14519 | 396 The `redraw!` command may not be needed, depending on whether executing a |
397 shell command shows something on the display or not. | |
398 | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
399 *E810* *E97* |
7 | 400 Vim will do a test if the diff output looks alright. If it doesn't, you will |
401 get an error message. Possible causes: | |
402 - The "diff" program cannot be executed. | |
403 - The "diff" program doesn't produce normal "ed" style diffs (see above). | |
404 - The 'shell' and associated options are not set correctly. Try if filtering | |
405 works with a command like ":!sort". | |
406 - You are using 'diffexpr' and it doesn't work. | |
639 | 407 If it's not clear what the problem is set the 'verbose' option to one or more |
408 to see more messages. | |
7 | 409 |
2642 | 410 The self-installing Vim for MS-Windows includes a diff program. If you don't |
411 have it you might want to download a diff.exe. For example from | |
2662 | 412 http://gnuwin32.sourceforge.net/packages/diffutils.htm. |
20 | 413 |
7 | 414 |
415 USING PATCHES *diff-patchexpr* | |
416 | |
417 The 'patchexpr' option can be set to use something else than the standard | |
418 "patch" program. | |
419 | |
420 When 'patchexpr' is empty, Vim will call the "patch" program like this: > | |
421 | |
422 patch -o outfile origfile < patchfile | |
423 | |
424 This should work fine with most versions of the "patch" program. Note that a | |
425 CR in the middle of a line may cause problems, it is seen as a line break. | |
426 | |
427 If the default doesn't work for you, set the 'patchexpr' to an expression that | |
428 will have the same effect. These variables are set to the file names used: | |
429 | |
430 v:fname_in original file | |
431 v:fname_diff patch file | |
432 v:fname_out resulting patched file | |
433 | |
434 Example (this does the same as 'patchexpr' being empty): > | |
435 | |
766 | 436 set patchexpr=MyPatch() |
437 function MyPatch() | |
7 | 438 :call system("patch -o " . v:fname_out . " " . v:fname_in . |
439 \ " < " . v:fname_diff) | |
440 endfunction | |
441 | |
442 Make sure that using the "patch" program doesn't have unwanted side effects. | |
443 For example, watch out for additionally generated files, which should be | |
444 deleted. It should just patch the file and nothing else. | |
445 Vim will change directory to "/tmp" or another temp directory before | |
446 evaluating 'patchexpr'. This hopefully avoids that files in the current | |
447 directory are accidentally patched. Vim will also delete files starting with | |
448 v:fname_in and ending in ".rej" and ".orig". | |
449 | |
14421 | 450 vim:tw=78:ts=8:noet:ft=help:norl: |