AdvancedDiffOptions


Ⅰ. 插件描述

Additional diff options and commands to manage them.

Ⅱ. 基本信息

创建日期:  2014-08-05
使用用户:  1
Github星:  4
插件作者:  Ingo Karkat

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin '/advanceddiffoptions'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle '/advanceddiffoptions'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug '/advanceddiffoptions'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/vim-scripts/AdvancedDiffOptions

Ⅳ. 文档说明

DESCRIPTION
Vim provides a nice diff-mode; parameters like case- or whitespace-
insensitivity can be controlled through the 'diffopt' option. However, because
that option controls both the difference filtering itself as well as the
visual appearance within Vim, modifying that option on the fly with :set
isn't very comfortable.

This plugin provides a set of :DiffI... commands that enable you to quickly
toggle the built-in diff filtering options, and adds advanced options for
filtering blank lines, complete change hunks, lines, ranges, or patterns of
text.

HOW IT WORKS
When there's a corresponding command-line option for the "diff" tool, this is

  1. The filtering of lines, ranges, and patterns is implemented by
  2. the buffers through the external "sed" command.

USAGE
:DiffOptions            List the currently active diff options.

:DiffIClear             Clear all "ignore ..." diff options.

:DiffIWhiteSpace[!]     Ignore changes in whitespace. [!] for undo.

:DiffICase[!]           Ignore changes in case. [!] for undo.

:DiffIBlankLines[!]     Ignore blank lines. [!] for undo.

:DiffIHunks[!] [{expr}] Ignore change hunks whose lines all match {expr}.
                        [!] for undo.

                        The following filters go beyond the capabilities of
                        the diff command itself; they work by preprocessing
                        the compared files before sending them to diff.

:DiffILines[!] [{expr}] Do not consider any lines that match {expr} in the
                        diff. [!] for undo.

:DiffIRange[!] [{range}]
                        Do not consider any lines that match the lines
                        specified by {range} in the diff. [!] for undo.
                        Note that Vim will still highlight additional lines at
                        the end of the longer buffer.

:DiffIPattern[!] [{expr}]
                        Do not consider any text that matches {expr} in the
                        diff (globally, not just the first match).
                        [!] for undo, i.e. removing {expr}, or all previously
                        given patterns.
                        Note that Vim will still highlight the ignored changes
                        (should there be another change in the line that is
                        not covered by {expr}), because it determines that on
                        its own.

EXAMPLE
Filter all diff hunks that only consist of comments in a Perl script:
    :DiffIHunks ^#

Ignore any differences after a line matching "EOF":
    :DiffIRange /^EOF$/,$

Ignore type differences of "char const" vs. "char" in a C program:
    :DiffIPattern [ ]const

添加新评论