diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-09-10 17:51:58 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-09-10 17:51:58 +0200 |
commit | e828b7621cf9065a3582be0c4dd1e0e846e335bf (patch) | |
tree | 79cf05b6295837108fb6edbbc154e333c940698a /runtime | |
parent | 93a1df2c205c8399d96c172d9483e0793d32892a (diff) |
patch 8.1.0360: using an external diff program is slow and inflexiblev8.1.0360
Problem: Using an external diff program is slow and inflexible.
Solution: Include the xdiff library. (Christian Brabandt, closes #2732)
Use it by default.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/diff.txt | 9 | ||||
-rw-r--r-- | runtime/doc/options.txt | 30 |
2 files changed, 31 insertions, 8 deletions
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index d56aea72ad..6670f45c64 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -39,7 +39,9 @@ The second and following arguments may also be a directory name. Vim will then append the file name of the first argument to the directory name to find the file. -This only works when a standard "diff" command is available. See 'diffexpr'. +By default an internal diff library will be used. When 'diffopt' or +'diffexpr' has been set an external "diff" command will be used. This only +works when such a diff program is available. Diffs are local to the current tab page |tab-page|. You can't see diffs with a window in another tab page. This does make it possible to have several @@ -344,8 +346,9 @@ between file1 and file2: > The ">" is replaced with the value of 'shellredir'. -The output of "diff" must be a normal "ed" style diff. Do NOT use a context -diff. This example explains the format that Vim expects: > +The output of "diff" must be a normal "ed" style diff or a unified diff. Do +NOT use a context diff. This example explains the format that Vim expects for +the "ed" style diff: > 1a2 > bbb diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index fca2e4662e..16aa422151 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -2609,8 +2609,8 @@ A jump table for the options with a short description can be found at |Q_op|. {not in Vi} {not available when compiled without the |+diff| feature} - Expression which is evaluated to obtain an ed-style diff file from two - versions of a file. See |diff-diffexpr|. + Expression which is evaluated to obtain a diff file (either ed-style + or unified-style) from two versions of a file. See |diff-diffexpr|. This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. @@ -2657,11 +2657,31 @@ A jump table for the options with a short description can be found at |Q_op|. foldcolumn:{n} Set the 'foldcolumn' option to {n} when starting diff mode. Without this 2 is used. - Examples: > + internal Use the internal diff library. This is + ignored when 'diffexpr' is set. *E960* + When running out of memory when writing a + buffer this item will be ignored for diffs + involving that buffer. Set the 'verbose' + option to see when this happens. + + indent-heuristic + Use the indent heuristic for the internal + diff library. + + algorithm:{text} Use the specified diff algorithm with the + internal diff engine. Currently supported + algorithms are: + myers the default algorithm + minimal spend extra time to generate the + smallest possible diff + patience patience diff algorithm + histogram histogram diff algorithm - :set diffopt=filler,context:4 + Examples: > + :set diffopt=internal,filler,context:4 :set diffopt= - :set diffopt=filler,foldcolumn:3 + :set diffopt=internal,filler,foldcolumn:3 + :set diffopt-=internal " do NOT use the internal diff parser < *'digraph'* *'dg'* *'nodigraph'* *'nodg'* 'digraph' 'dg' boolean (default off) |