Git diff 使用 vimdiff 对比差异

参考:

Git diff 使用 vimdiff 对比差异-CSDN博客

使用 vimdiff 比较文件的技巧_vimdiff dp do-CSDN博客

vimdiff简单使用_vimdiff用法_fchyang的博客-CSDN博客

在Ubuntu中使用Git时,可使用命令行的git diff命令来对比两次提交的差异,但是这种对比查看方式无法直观地查看修改的差异,在对比和查看时不太方便。

可以使用vimdiff作为Git diff的对比工具,这样就方便了许多,Git的配置方法如下:

        $  git config --global diff.tool vimdiff

        $  git config --global difftool.prompt false

        $  git config --global alias.d difftool

配置完成后,可使用命令 "git d  " 时就会重定向到vimdiff,vimdiff的使用方法请看博客《使用 vimdiff 比较文件的技巧》,链接地址:https://blog.csdn.net/sean_8180/article/details/82560495
————————————————
版权声明:本文为CSDN博主「CodeApe123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sean_8180/article/details/82285964

1. 使用 vimdiff 命令可以比较两个文件的差异,不同的地方高亮显示,如下图所示:

2. 在一行不同处,输入do可将另一个buffer的改动应用于当前buffer,输入dp 可将当前buffer的该行内容应用于另一个buffer。

3. 输入] c跳到下一个不同行;输入[c 跳到上一个不同行。

4. 横向对比时,由于屏幕宽度有限,所以每次要到两个buffer分别:set wrap来使其折行,为了方便,写一个键盘影射来使用,修改~/.vimrc文件,添加下面的内容:

    func Wrap()
        :set wrap
    endfunc
    map        :call Wrap() :call Wrap()
————————————————
版权声明:本文为CSDN博主「CodeApe123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sean_8180/article/details/82560495

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
————————————————
版权声明:本文为CSDN博主「fchyang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fchyang/article/details/127902779

你可能感兴趣的:(git,diff,vim,vimdiff,git,diff)