当前位置: 首页 > ds >正文

gvim比较两个文件不同并合并差异

使用 gvim 比较两个文件的不同:

方式一,使用 gvim 同时打开两个待比较的文件。
比较通用方式是采用 gvim -d 选项,具体命令,如下:

gvim -d <file1> <file2>

方式二,先用 gvim 打开一个文件,然后启动 diff mode,与另一个文件进行比较。

  1. 正常使用 gvim 编辑一个文件 <file1> ,命令如下:

    gvim <file1>
    
  2. 然后采用 :diffthis:diffsplit 命令启动 diff mode。

    a) 采用 :diffthis 命令的具体示例

    在当前文件 <file1> 窗口中,打开另一个文件 <file2> 。如果采用垂直切分(vertical split)方式打开文件 <file2>,命令如下:

    :vs otherFile
    

    如果采用水平切分(horizontal split)方式打开,命令如下:

    :sp otherFile
    

    在当前文件 <file1> 中,启动 diff mode,命令如下:

    :diffthis
    

    到此,就可以看到两个文件的差异显示了。

    关闭 diff mode 的命令,如下:

    :diffoff
    

    b) 采用 :diffsplit 命令的具体示例

    一条命令即可以显示两文件之间的差异,如下:

    :diffsplit <file2>
    

    如果以垂直切割窗口方式打开了<file2>,使用命令:

    :vert diffsplit <file2>
    

切换分屏

ctrl+w ,再按 h左, l右, j 下, k 上,w 窗口循环切换

关闭当前窗口分屏:ctrl+w,再按 c

向右或向下方交换窗口:Ctrl + w + r 而Ctrl + w + R则和它方向相反。
交换同列或同行的窗口的位置:Ctrl + w + x

diff mode 常用命令速查表(cheat sheet)

[c     Jump to the previous diff 跳到前一个不同之处

]c     Jump to the next diff 调到下一个不同之处

do    diffget: Pull the changes to the current file 将所有的不同之处拉到当前文 件,使之与另一个文件内容相同

dp    diffput: Push the changes to the other file 将所有的不同之处推到另一个文件

:diffupdate  rescan files for differences 重新扫描文件之间的不同之处

可以使用2]c 跳转到下两个差异点 可以在第 5行和第 16行之间用diffput,在第
19行到23行之间使用diffget,命令如下:

bash :5,16diffput :19,23diffget

Folds 折叠命令

zo/zO   Open 打开折叠

zc/zC   Close 关闭折叠

za/zA   Toggle 在打开折叠和关闭折叠之间进行切换

zv    Open folds for this line 为当前行打开折叠

zM    Close all 关闭所有折叠

zm    Fold more (foldlevel += 1) 更多地折叠

zR    Open all 打开所有折叠

zr    Fold less (foldlevel -= 1) 更少地折叠

http://www.xdnf.cn/news/12723.html

相关文章:

  • 【三余升序数对个数】2022-4-17
  • 数学:学好数学需要对数系进行系统的对比和分析
  • 蓝牙技术栈BR/EDR和LE详解
  • Linux驱动学习day1
  • Numpy5——数组的扩充(相加、复制、广播)排序,形状调整
  • 计算机图形学:(七)渲染目标
  • MybatisPlus中LambdaQueryWrapper 校验非空,非空判断
  • 解决cesium加载模型太黑暗,程序崩溃,不显示,位置不对模型太大,Cesium加载gltf/glb模型后变暗,变慢问题
  • x32dbg/x64dbg SwissArmyKnife 插件导入map文件不生效
  • 数论——同余问题全家桶2 不定方程和同余方程
  • 高考:如何合理选择学科、专业以及职业
  • 大模型时代的“思考“与“行动“:人工智能的认知革命
  • 智能仓储解决方案:如何为您的企业选择最佳系统 (提升效率 降低成本)
  • 多模态动态图卷积神经网络及Transformer多头注意力机制设计
  • window查看SVN账号密码
  • Blaster - Multiplayer P145-P152: 多种武器
  • 2025年SDK游戏盾实战深度解析:防御T级攻击与AI反作弊的终极方案
  • 大学课程:计算机科学与技术专业主要课程,是否落伍了?
  • ORM框架(SQLAlchemy 与 Tortoise )
  • idea中 maven 本地仓库有jar包,但还是找不到,解决打包失败和无法引用的问题
  • 【iSAQB软件架构】魔法成功软件项目的矩形
  • D1675/HBT191单通道高清视频放大电路解析
  • DAY 23 pipeline管道
  • 10分钟私有部署Deepseek-R1-0518,打造团队专属AI助手
  • 小牛电动NXT,市场销量第一
  • 嵌入式学习笔记- freeRTOS 带FromISR后缀的函数
  • 打卡day46
  • 【leetcode】3. 无重复字符的最长子串
  • 变频串联谐振试验技术解析
  • 【python基础知识】变量名和方法名的单下划线(_)和双下划线(__)总结