vim -d

vim有个‘-d’参数,能够对比两个文件的差异之处,并对差异的地方做定向操作,比较好用,下面一起学习下;

1:对比指令

 

 这里能够看到,‘-d’参数后面跟了两个文件,同时终端屏幕也会被分为两部分哈,其中,左边的是第一个文件,右边是第二个文件;

从终端界面中我们能够看到会有高亮的行,没错,高亮的行就是两个文件对比出现差异的行, 同时,橙色的高亮就是具体差异出现的地方!

 

2:高亮跳转

我们一般会对高亮部分, 也就是两个文件的不同之处进行相对的操作,那么通过执行:
]c
光标就会自动跳转到下个不同之处;
[c
光标就是往上跳转到不同之处
 

3:差异同步

当我们的光标放到不同之处的那行,执行指令:
dp
就会把当前光标所在文件的所在行同步到另一个文件的相同地方!

 

执行dp指令之后,左边光标所在行的内容就会同步到右边,并且之前的高亮也消失了;

 

4:撤销同步

在执行了内容同步之后,想要撤销之前的同步,怎么处理?

我们知道在vim想要撤销操作,可以通过u指令,但我们这里改动的是右边的文件,同时,我们想要撤销的是右边文件的改动,因此,我们首先需要把光标转移到右边的文件里:

执行指令:ctrl+w 切换光标所在文件

 

 此时红框里的光标就已经在想要撤销操作的文件中了,执行u指令,撤销之前的同步内容:

 然后我们再把光标切回左边的文件上!

 

 执行完之后,应该如上图所示;

问题:此时看到两个文件的第六行是有差异的,但是这里的高亮却不显示了,此时就涉及到vim -d的第五个操作,刷新差异项;

5:刷新差异项

 

 此时我们在编辑栏输入:diffupdate 并回车,我们看到高亮就又回来了!

6:折叠展开连续相同行

我们在上面的截图中能够看到如下的场景:

 

 这里是表示有九行内容完全相同的行,因此系统默认给你折叠在一起了,这里有几点需要注意:

1:系统有个默认连续相同的N行,会给你折叠,这里的N,是可以认为调整的;

就一点....

如何通过指令展开或折叠:

执行指令:z+a

注意:这里的光标必须要停留在折叠行的位置,才能够实现折叠或者展开功能!

 

以上就是vim -d的一些常用指令,我目前只用到了这些操作,后续有更新的话再补充哈,再会。

posted @ 2020-12-29 14:31  一个运维  阅读(1384)  评论(0编辑  收藏  举报