如何让vimdiff并排显示cvs diff的输出
CVS diff具有并排显示修订的选项,并使用常见的面片符号表示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
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 这是什么意思
我会写一个脚本:vimdiff_cvs file.cc 这是什么意思
你能告诉我哪一个CVS选项能做到这一点吗?你能告诉我哪一个CVS选项能做到这一点吗?
function! SplitCVSDiff()
exe "norm gg_\<C-v>51\<Bar>Gd:vnew\<CR>p"
silent! %s/\v\s+(\> )?$//
endfunction