vimdiff的简单使用

 Vimdiff的使用

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

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

 

2、  基本开启方式:

 

vimdiff  file1 file2

 

vim –d file1 file2

 

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

首先是vim file1

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

   
     
   

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

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


   
     
   
4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vimex模式下输入      :set noscrollbind     
有时候我们可能又会很纠结,又想变回来,可以输入   :set scrollbind 
      
     5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为:    :diffput 
     如果是想把另外一个文件中的内容复制到当前行,可以使用命令:   diffget 
     大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决:  命令为      diffupdate 
     6在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出: 
:qa(未对文件做过修改,直接退出) 
:qa! (不保存文件退出) 
:wqa(保存文件并退出) 
        7vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令:     :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

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

   
     
   

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

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


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

你可能感兴趣的:(职场,休闲,vimdiff)