Vimdiff的使用

1、首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点:

命令行方式的比较工具;简单明了的界面;对比较出来的多处差异之间快速定位;进行文件合并。再使用vimdiff命令之前,我们需要对diff命令加以了解,关于其使用,可以参照man手册。

2、  基本开启方式:

vimdiff  file1 file2

vim –d file1 file2

还有一种启动方式比较复杂:

首先是vim file1

然后在vim的ex模式(也就是"冒号"模式)下输入::
vertical diffsplit file2   这样也可以达到同样的效果
        
小技巧:在两个分隔的窗口之间切换快捷键:Ctrl+w 
             如果希望撤销修改,可以和平常用vim编辑一样,直接 <ESC>  u

3、当我们打开两个文件时,会发现如下一些特点。

屏幕被垂直分割,左右两侧分别显示被比较的两个文件;两个文件中连续的相同的行被折叠了起来,以便重点突出差异。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异的行显示为粉色背景,引起差异的文字用红色背景加以突出。

4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vim的ex模式下输入      :set noscrollbind     
有时候我们可能又会很纠结,又想变回来,可以输入   :set scrollbind
     
     5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为:    :diffput
     如果是想把另外一个文件中的内容复制到当前行,可以使用命令:   diffget
     大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决:  命令为      diffupdate
     6、在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa(未对文件做过修改,直接退出)
:qa! (不保存文件退出)
:wqa(保存文件并退出)
        7、vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令:     :foldopen    如果想继续隐藏,命令为:      :foldclose
还有就是Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context: 5
      小技巧:如果你使用了文件展开命令,那么找两个文件之间的不同之处可能比较费劲,有个快捷的方式:  ]c 可以直接跳到下一个不同之处,[c. 则可以直接跳到上一个不同之处Vimdiff的使用

1、首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点:

命令行方式的比较工具;简单明了的界面;对比较出来的多处差异之间快速定位;进行文件合并。再使用vimdiff命令之前,我们需要对diff命令加以了解,关于其使用,可以参照man手册。

2、  基本开启方式:

vimdiff  file1 file2

vim –d file1 file2

还有一种启动方式比较复杂:

首先是vim file1

然后在vim的ex模式(也就是"冒号"模式)下输入::
vertical diffsplit file2   这样也可以达到同样的效果
        
小技巧:在两个分隔的窗口之间切换快捷键:Ctrl+w 
             如果希望撤销修改,可以和平常用vim编辑一样,直接 <ESC>  u

3、当我们打开两个文件时,会发现如下一些特点。

屏幕被垂直分割,左右两侧分别显示被比较的两个文件;两个文件中连续的相同的行被折叠了起来,以便重点突出差异。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异的行显示为粉色背景,引起差异的文字用红色背景加以突出。

4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vim的ex模式下输入      :set noscrollbind     
有时候我们可能又会很纠结,又想变回来,可以输入   :set scrollbind
     
     5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为:    :diffput
     如果是想把另外一个文件中的内容复制到当前行,可以使用命令:   diffget
     大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决:  命令为      diffupdate
     6、在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa(未对文件做过修改,直接退出)
:qa! (不保存文件退出)
:wqa(保存文件并退出)
        7、vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令:     :foldopen    如果想继续隐藏,命令为:      :foldclose
还有就是Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context: 5
      小技巧:如果你使用了文件展开命令,那么找两个文件之间的不同之处可能比较费劲,有个快捷的方式:  ]c 可以直接跳到下一个不同之处,[c. 则可以直接跳到上一个不同之处

转载于:https://blog.51cto.com/guanpengla/783266

vimdiff的简单使用相关推荐

  1. vimdiff简单使用

    vimdiff的简单使用: 一.配色 vim ~/.vimrc,添加 if &diffhighlight DiffAdd cterm=bold ctermfg=10 ctermbg=17 gu ...

  2. svn diff 使用 vimdiff 作为比较差异工具

    转载自<http://www.coreymaynard.com/blog/improving-svn-diff-with-the-power-of-vim/> One of vim's n ...

  3. vimdiff对比文件夹

    背景 在日常开发过程中免不了的是使用文件差异对比工具进行文本差异对比.常用的对比工具有meld.vimdiff.TextDiff等.但是meld.TextDiff等工具都是图形界面工具,对与纯粹的终端 ...

  4. 代码抄袭检测系统的设计和实现(1)--需求分析和基础架构

    前言: 其实挺意外的, 最近和大学的老师联系, 得知4年前写的代码抄袭检测系统还在运行, 又惊又喜, 还以为早就替换升级了.  千百次回眸, 可惜界面依旧不给面子的简陋, 不过"金窝, 银窝 ...

  5. vim实用指南(9)vimdiff好用的可视化文本对比工具

    各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff.希望能对在 Unix/Linux 系统上进行开发 ...

  6. python vimdiff_技巧:Vimdiff 使用

    首先保证系统中的diff命令是可用的.Vim的diff模式是依赖于diff命令的.Vimdiff的基本用法就是: # vimdiff FILE_LEFT FILE_RIGHT 或者 # vim -d ...

  7. vimdiff 命令使用技巧

    源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分.现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare:很多IDE 或者软件配置管理系统,比 ...

  8. vimdiff常用命令详解

    Vimdiff的基本用法就是: # vimdiff  FILE_LEFT  FILE_RIGHT 或者 # vim -d  FILE_LEFT  FILE_RIGHT 屏幕被垂直分割,左右两侧分别显示 ...

  9. 非常强大的文件比较工具:Vimdiff

    各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff.希望能对在 Unix/Linux 系统上进行开发 ...

最新文章

  1. 调试内存_C/C++程序调试和内存检测
  2. C# rdlc 报表学习总结
  3. ubuntu python版本切换_ubuntu18.04 python版本切换
  4. hive 指定字段插入数据_Hive 表之间数据处理,Int 类型字段部分字段出现 NULL情况...
  5. 一步一步学Silverlight 2系列(4):鼠标事件处理
  6. 计算机类公务员如何提升自己,大学毕业才发现:所学专业对考公务员如此重要,4类专业上岸率高...
  7. Java基本数据类型及所占字节大小
  8. mp4v2 写mp4 java_使用mp4v2将H264+AAC合成mp4文件
  9. C++语言类的多态介绍和示例
  10. SCPPO(一):禅道的安装
  11. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析...
  12. 杭电 1272 并查集判断环
  13. 图像压缩算法动态规划c语言,动态规划算法实现数字图像压缩的研究.pdf
  14. LoadRunner录制app脚本详解
  15. c 语言if函数嵌套使用方法,if函数的嵌套怎么用?
  16. 手机壁纸尺寸android,APP设计手抄:5点安卓手机尺寸分辨率知识
  17. 基于Phyton爬虫索引设计与实现答辩PPT模板
  18. android获取网络图片方法,Android获取网络图片并显示的方法
  19. Lecture2:损失函数及优化
  20. 【数学建模】十二(最后一篇):MATLAB CUMCM真题求解实例三:机理建模型

热门文章

  1. 数据库的查询优化建议整理
  2. 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器
  3. STL源码剖析 数值算法 copy 算法
  4. python实验练习-类的多继承
  5. Linkedln技术高管Jay Kreps:Lambda架构剖析
  6. Patrick Wyatt:代码没问题 程序却有bug?
  7. spring cache相关注解介绍 @Cacheable、@CachePut、@CacheEvict
  8. vue项目cordova打包的android应用
  9. MongoDB的快速手动安装
  10. 容器+AOP实现动态部署(四)