请选择 进入手机版 | 继续访问电脑版

芯片设计交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 105|回复: 0

[转贴] vim diff的介绍

[复制链接]

27

主题

1

回帖

91

积分

注册会员

积分
91
发表于 2024-5-9 17:24:05 | 显示全部楼层 |阅读模式
启动diff
在VIM中开启diff的方式有很多,下面介绍几种常用的场景。

外部直接打开两个文件
  1. # 直接使用vimdiff指令
  2. vimdiff FILE_1 FILE_2
  3. # 使用vim指令加-d参数
  4. vim -d FILE_1 FILE_2
复制代码

打开文件之后再进行文件比较
  1. # 先打开一个文件,再打开另一个文件进行对比
  2. vim FILE_1
  3. :vertical diffsplit FILE_2
  4. # 直接打开两个文件,在进行比较
  5. vim -On FILE_1 FILE_2
  6. :diffthis # 要在两个窗口都输入
复制代码
改变文件位置
可以根据个人习惯和文件格式来更改对比文件的显示位置。
  1. Ctrl-w K # 把当前窗口移到最上边
  2. Ctrl-w H # 把当前窗口移到最左边
  3. Ctrl-w J # 把当前窗口移到最下边
  4. Ctrl-w L # 把当前窗口移到最右边
复制代码

锁定和解锁
在进行文件比较时,默认是锁定了两个文件的滚动条的。
  1. :set noscrollbind # 解锁
  2. :set scrollbind # 锁定(会重新对齐)
复制代码

移动光标
在修改文件时需要移动光标位置,VIM下的移动方式都可以,但是多了一个跳转到差异行的快捷键。
  1. ]c # 跳到下一个差异点
  2. [c # 跳到上一个差异点
  3. n]c # 越过n哥差异点跳到下一个差异点
  4. n[c # 越过n哥差异点跳到上一个差异点
复制代码

文件合并
比较文件的目的一般是将两个文件合并为一个文件,diff提供了便捷的合并方式。
  1. dp # diff “put” 将此文件的内容复制到另外一个文件中
  2. do # diff “get” 将另外一个文件的内容复制到此文件中
复制代码

手动修改
如果两边的文件都不尽如人意,你可以跳转到相应窗口,手动修改文件。
  1. ctrl+w # 跳转到下个窗口
  2. ctrl+h # 跳转到左边窗口
  3. ctrl+j # 跳转到下面窗口
  4. ctrl+k # 跳转到上面窗口
  5. ctrl+l # 跳转到右边窗口
复制代码
手动更新
有时,在修改完成后,VIM并没有自动刷新差异项,这时,我们需要手动更新文件。

  1. :diffupdate
复制代码

折叠无差异项
VIM是默认折叠无差异项的,我也可以手动打开和折叠,协助比较。
  1. zo # folding open 展开无差异项
  2. zc # folding close 折叠无差异项
复制代码

修改上下文行数
VIM默认显示6行上下文,我们可以根据自己需求修改。
  1. :set diffopt=context:n # 设置显示n行上下文
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|芯片设计交流论坛

GMT+8, 2024-6-16 21:29 , Processed in 0.037860 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表