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

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.lryc.cn/news/2402715.html

相关文章:

  • App使用webview套壳引入h5(二)—— app内访问h5,顶部被手机顶部菜单遮挡问题,保留顶部安全距离
  • Git GitHub Gitee
  • 《深度体验 Egg.js:打造企业级 Node.js 应用的全景指南》
  • 蓝桥杯2118 排列字母
  • Python应用break初解
  • PLSQLDeveloper配置OracleInstantClient连接Oracle数据库
  • 高股息打底+政策催化增强+永续经营兜底
  • 双电机差速控制的MATLAB Simulink仿真方案,使用PWM和PID调节实现360°转向与速度控制_可复现,有问题请联系博主
  • 【Oracle】触发器
  • 基于深度学习的无人机轨迹预测
  • git连接本地仓库以及gitee
  • 使用Python和OpenCV实现图像识别与目标检测
  • 麒麟v10系统的docker重大问题解决-不支持容器名称解析
  • 基于5G下行信号的模糊函数分析matlab仿真,对比速度模糊函数和距离模糊函数
  • Selenium自动下载浏览器驱动
  • 数据库优化实战分享:高频场景下的性能调优技巧与案例解析
  • Redis 过期了解
  • 微信小程序前端面经
  • android 之 Tombstone
  • 六级作文模板笔记
  • JAVA理论-JAVA基础知识
  • 免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版
  • SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载
  • 深入解析 Java ClassLoader:揭开 JVM 动态加载的神秘面纱
  • CICD实战(一) -----Jenkins的下载与安装
  • 【.net core】.KMZ文件解压为.KML文件并解析为GEOJSON坐标数据集。附KML处理多线(LineString)闭环问题
  • Python打卡训练营day46——2025.06.06
  • 网络资源缓存
  • Linux中 SONAME 的作用
  • Devops系列---python基础篇二