【问题标题】:Save vimdiff output?保存 vimdiff 输出?
【发布时间】:2011-09-19 18:01:35
【问题描述】:

我过去曾多次在 Google 上搜索过此问题,但从未找到答案。有没有办法保存 vimdiff 的输出(最好同时保持颜色、高光等)?我想将这个输出文件发送给其他人并告诉他们“只需打开这个文件,这里有不同之处,并排突出显示”。

如果为此目的有更好的 vimdiff 替代品,我愿意接受建议 - 在 Windows 和 Linux 平台上都可以使用的东西是理想的。

【问题讨论】:

  • diff -u + 带有差异突出显示的编辑器?
  • :h :TOhtml
  • @rvs:我希望 diff 并排显示,等效的行显示为破折号(或类似的东西),a la vimdiff。
  • @El Isra:我之前遇到过 TOhtml,但 AFAIK 它一次只输出一个缓冲区。我希望差异(两个缓冲区)位于一个文件中。编辑:没关系!似乎有效!
  • @El Isra:请发表您的评论作为答案,以便我将其标记为 :)

标签: vim vimdiff


【解决方案1】:

Vim 可以导出为 HTML,见:

:help :TOhtml

【讨论】:

  • 正是需要的!谢谢。
【解决方案2】:

比较两个文件并将结果写入“基于 HTML”的第三个文件。打开终端并运行以下命令:

vimdiff  file1.txt file2.txt -c TOhtml -c 'w! diff.html' -c 'qa!'

【讨论】:

  • 谢谢 Zee,点赞。这正是我今天想要做的,你的回答对我很有帮助。
  • 真的很有帮助。谢谢!
【解决方案3】:

下一个命令你会得到类似的输出:

sdiff file1 file2 | colordiff

【讨论】:

  • vim可以做4个文件,sdiff限制为2个
  • 这对我来说比 TOhtml 更有用,因为现在这两个文件很好地排列在一起并且易于使用脚本进行处理。
【解决方案4】:

保存 vim 着色至少有两个选项:它是 :TOhtml 与 vim 本身一起分发的,更高级的是我的 format.vim 插件。我的插件相对于:TOhtml 的优势在插件页面上进行了描述。将 vimdiff 格式化为 html 的命令:

:Format diffformat

【讨论】:

    【解决方案5】:
    diff -u file1 file2 > outputfile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-07
      • 2015-02-14
      • 1970-01-01
      • 2012-02-10
      • 2020-04-05
      • 2020-08-21
      • 2013-09-15
      • 1970-01-01
      相关资源
      最近更新 更多