VIM中diff的使用

在linux下,diff是一个常用的文本比较工具,熟练使用可以大大提高在服务器端的开发效率。

 

1.启动diff

在VIM中开启diff的方式有很多,下面介绍几种常用的场景。

1.1 外部直接打开两个文件

# 直接使用vimdiff指令
vimdiff FILE_1 FILE_2
# 使用vim指令加-d参数 vim
-d FILE_1 FILE_2

1.2 打开文件之后再进行文件比较

# 先打开一个文件,再打开另一个文件进行对比
vim FILE_1
:vertical diffsplit FILE_2
# 直接打开两个文件,在进行比较
vim -On FILE_1 FILE_2
:diffthis # 要在两个窗口都输入

 

2.改变文件位置

可以根据个人习惯和文件格式来更改对比文件的显示位置。

Ctrl-w K # 把当前窗口移到最上边
Ctrl-w H # 把当前窗口移到最左边
Ctrl-w J # 把当前窗口移到最下边
Ctrl-w L # 把当前窗口移到最右边

 

3.锁定和解锁

在进行文件比较时,默认是锁定了两个文件的滚动条的。

:set noscrollbind # 解锁
:set scrollbind # 锁定(会重新对齐)

 

4.移动光标

在修改文件时需要移动光标位置,VIM下的移动方式都可以,但是多了一个跳转到差异行的快捷键。

]c # 跳到下一个差异点
[c # 跳到上一个差异点
n]c # 越过n哥差异点跳到下一个差异点
n[c # 越过n哥差异点跳到上一个差异点

 

5.文件合并

比较文件的目的一般是将两个文件合并为一个文件,diff提供了便捷的合并方式。

dp # diff "put" 将此文件的内容复制到另外一个文件中
do # diff "get" 将另外一个文件的内容复制到此文件中

 

6.手动修改

如果两边的文件都不尽如人意,你可以跳转到相应窗口,手动修改文件。

ctrl+w # 跳转到下个窗口
ctrl+h # 跳转到左边窗口
ctrl+j # 跳转到下面窗口
ctrl+k # 跳转到上面窗口
ctrl+l # 跳转到右边窗口

 

7.手动更新

有时,在修改完成后,VIM并没有自动刷新差异项,这时,我们需要手动更新文件。

:diffupdate

 

8.折叠无差异项

VIM是默认折叠无差异项的,我也可以手动打开和折叠,协助比较。

zo # folding open 展开无差异项
zc # folding close 折叠无差异项

 

9.修改上下文行数

VIM默认显示6行上下文,我们可以根据自己需求修改。

:set diffopt=context:n # 设置显示n行上下文
posted @ 2015-01-07 17:41  iCH1990  阅读(2004)  评论(0编辑  收藏  举报