Vimdiff的使用
1、 首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点:
命令行方式的比较工具;简单明了的界面;对比较出来的多处差异之间快速定位;进行文件合并。再使用vimdiff命令之前,我们需要对diff命令加以了解,关于其使用,可以参照man手册。
2、 基本开启方式:
vimdiff file1 file2
vim –d file1 file2。
还有一种启动方式比较复杂:
首先是vim file1
然后在vim的ex模式(也就是"冒号"模式)下输入::
vertical diffsplit file2 这样也可以达到同样的效果
小技巧:在两个分隔的窗口之间切换快捷键:Ctrl+w
如果希望撤销修改,可以和平常用vim编辑一样,直接 <ESC> u
3、 当我们打开两个文件时,会发现如下一些特点。
屏幕被垂直分割,左右两侧分别显示被比较的两个文件;两个文件中连续的相同的行被折叠了起来,以便重点突出差异。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异的行显示为粉色背景,引起差异的文字用红色背景加以突出。
4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vim的ex模式下输入 :set noscrollbind
有时候我们可能又会很纠结,又想变回来,可以输入 :set scrollbind
5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为: :diffput
如果是想把另外一个文件中的内容复制到当前行,可以使用命令: :diffget
大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决: 命令为 :diffupdate
6、在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa(未对文件做过修改,直接退出)
:qa! (不保存文件退出)
:wqa(保存文件并退出)
7、vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令: :foldopen 如果想继续隐藏,命令为: :foldclose
还有就是Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context: 5
小技巧:如果你使用了文件展开命令,那么找两个文件之间的不同之处可能比较费劲,有个快捷的方式: ]c 可以直接跳到下一个不同之处,[c. 则可以直接跳到上一个不同之处Vimdiff的使用
1、 首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点:
命令行方式的比较工具;简单明了的界面;对比较出来的多处差异之间快速定位;进行文件合并。再使用vimdiff命令之前,我们需要对diff命令加以了解,关于其使用,可以参照man手册。
2、 基本开启方式:
vimdiff file1 file2
vim –d file1 file2。
还有一种启动方式比较复杂:
首先是vim file1
然后在vim的ex模式(也就是"冒号"模式)下输入::
vertical diffsplit file2 这样也可以达到同样的效果
小技巧:在两个分隔的窗口之间切换快捷键:Ctrl+w
如果希望撤销修改,可以和平常用vim编辑一样,直接 <ESC> u
3、 当我们打开两个文件时,会发现如下一些特点。
屏幕被垂直分割,左右两侧分别显示被比较的两个文件;两个文件中连续的相同的行被折叠了起来,以便重点突出差异。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异的行显示为粉色背景,引起差异的文字用红色背景加以突出。
4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vim的ex模式下输入 :set noscrollbind
有时候我们可能又会很纠结,又想变回来,可以输入 :set scrollbind
5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为: :diffput
如果是想把另外一个文件中的内容复制到当前行,可以使用命令: :diffget
大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决: 命令为 :diffupdate
6、在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa(未对文件做过修改,直接退出)
:qa! (不保存文件退出)
:wqa(保存文件并退出)
7、vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令: :foldopen 如果想继续隐藏,命令为: :foldclose
还有就是Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context: 5
小技巧:如果你使用了文件展开命令,那么找两个文件之间的不同之处可能比较费劲,有个快捷的方式: ]c 可以直接跳到下一个不同之处,[c. 则可以直接跳到上一个不同之处