vimdiff简单使用

vimdiff的简单使用:

一、配色

vim ~/.vimrc,添加

  if &diff
      highlight DiffAdd    cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
      highlight DiffDelete cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
      highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
      highlight DiffText   cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=Red
  endif

参考:使用Vimdiff时加载不同的配色方案 

二、基本命令

1、启动

vimdiff file1 file2
vim -d file1 file2

 2、左右窗口跳转

ctrl + w

 3、差异跳转

]c 下一个差异点
n]c 转到下面第n个差异点,n为数字
[c 上一个差异点
n[c 转到上面第n个差异点,n为数字

:set noscrollbind
行间移动光标,可以看到左右两侧的屏幕滚动是同步的。如果不想要这个特性,可以设置set noscrollbind

4、 合并与刷新

dp 当前差异点复制到另一个文件(diff put)
do 差异点复制到当前文件(diff get, 不用dg是因为已被另一命令占用了)
:diffupdate 修改后的更新,vimdiff也会自动来重新比较
u 撤销修改

5、操作两个文件 

同时退出: qa (quit all)
保存全部文件: wa (write all)
保存全部文件,然后退出 :wqa (write, then quit all)
退出的时候不希望保存任何操作的结果 :qa! (force to quit all)

6、差异展开折叠

Vimdiff 缺省是会把不同之处上下各6行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context:3

展开被折叠的相同的文本行:
zo (folding open,之所以用z这个字母,是因为它看上去比较像折叠着的纸)

重新折叠:
zc (folding close)

参考:技巧:Vimdiff 使用_51CTO博客_Vimdiff

7、区分大小写

:set ignorecase  区分
:set noignorecase 不区分

8、粘贴格式错乱

:set paste  按原来的格式粘贴过来

拓展diff差异

diff -aurN --color file1 file2

你可能感兴趣的:(Tool,Vim,vim,编辑器)