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
二、基本命令
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