linediff.vim


Ⅰ. 插件描述

A vim plugin to perform diffs on blocks of code

Ⅱ. 基本信息

创建日期:  2011-08-11
使用用户:  345
Github星:  272
插件作者:  Andrew Radev

Ⅲ. 安装方法

使用Vundle管理器安装

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

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

使用NeoBundle管理器安装

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

使用VimPlug管理器安装

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

使用Pathogen管理器安装

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

Ⅳ. 文档说明

GitHub version
Build Status

The linediff plugin provides a simple command, :Linediff, which is used to diff two separate blocks of text.

Demo

A simple example:

def one
  two
end

def two
  three
end

If we mark the first three lines, starting from def one, in visual mode, and execute the :Linediff command, the signs 1- will be placed at the start and at the end of the visual mode's range. Doing the same thing on the bottom half of the code, starting from def two, will result in the signs 2- placed there. After that, a new tab will be opened with the two blocks of code in vertical splits, diffed against each other.

The two buffers are temporary, but when any one of them is saved, its original buffer is updated. Note that this does not save the original buffer, just performs the change. Saving is something you should do later.

Executing the command :LinediffReset will delete the temporary buffers and remove the signs.

Executing a new :Linediff will do the same as :LinediffReset, but will also initiate a new diff process.

For more commands and different workflows, you should read the full documentation with :help linediff

Note that you shouldn't linediff two pieces of text that overlap. Not that anything horribly bad will happen, it just won't work as you'd hope to. I don't feel like it's a very important use case, but if someone requests sensible behaviour in that case, I should be able to get it working.

添加新评论