如何让vimdiff并排显示cvs diff的输出

如何让vimdiff并排显示cvs diff的输出,vim,diff,cvs,vimdiff,Vim,Diff,Cvs,Vimdiff,CVS diff具有并排显示修订的选项,并使用常见的面片符号表示diff,如: import zlib import zlib > import time import traceback import traceback import cElem

CVS diff具有并排显示修订的选项,并使用常见的面片符号表示diff,如:

import zlib                                        import zlib
                                                 > import time
import traceback                                   import traceback

import cElementTree as ElementTree                 import cElementTree as ElementTree

from util import infopage                          from util import infopage
                                                 > from util.timeout import Timeout
是否有管道将该输出传输到vimdiff,以便它在两个并排的缓冲区中显示这两列以及所有的diff突出显示vimdiff的优点


我知道像cvsvimdiff.vim之类的工具,但问题是它们一次只能处理一个文件,而cvs diff输出列出了多个文件。

一旦在vim缓冲区中有了文本,您就可以轻松地将其拆分为两个缓冲区。看起来您的示例输入以50个字符进行拆分

因此,使用
以可视块突出显示差异的一半,将其剪切,粘贴到新的缓冲区中,删除尾随空格和
分隔符,就这样了。或者编写一个函数来执行此操作,类似这样的操作(假定拆分始终为50):

函数!SplitCVSDiff()
exe“norm gg\u51\Gd:vnew\p”
安静!%s/\v\s+(\>)$//
端功能

可能必须使其更加健壮,我不熟悉CVS使用的输出的确切样式。不过,这应该不难。

一旦在Vim缓冲区中有了文本,您就可以自己轻松地将其拆分为两个缓冲区。看起来您的示例输入以50个字符进行拆分

因此,使用
以可视块突出显示差异的一半,将其剪切,粘贴到新的缓冲区中,删除尾随空格和
分隔符,就这样了。或者编写一个函数来执行此操作,类似这样的操作(假定拆分始终为50):

函数!SplitCVSDiff()
exe“norm gg\u51\Gd:vnew\p”
安静!%s/\v\s+(\>)$//
端功能

可能必须使其更加健壮,我不熟悉CVS使用的输出的确切样式。不过这应该不难。

我会写一个脚本:vimdiff_cvs file.cc 这是什么意思

  • 在本地存储file.cc的差异,删除它,更新到存储库。现在将其复制为~/.vimdiff/file.cc.repo
  • 通过应用修补程序恢复file.cc
  • 调用vimdiff file.cc~/.vimdiff/file.cc.repo

  • 我会写一个脚本:vimdiff_cvs file.cc 这是什么意思

  • 在本地存储file.cc的差异,删除它,更新到存储库。现在将其复制为~/.vimdiff/file.cc.repo
  • 通过应用修补程序恢复file.cc
  • 调用vimdiff file.cc~/.vimdiff/file.cc.repo

  • 你能告诉我哪一个CVS选项能做到这一点吗?你能告诉我哪一个CVS选项能做到这一点吗?
    function! SplitCVSDiff()
        exe "norm gg_\<C-v>51\<Bar>Gd:vnew\<CR>p"
        silent! %s/\v\s+(\> )?$//
    endfunction