使用 VIM 导航到补丁文件中的下一个块

使用 VIM 导航到补丁文件中的下一个块

我们中的一些人可能熟悉patch这样的失败"Hunk #11 FAILED at 958."——VIM 中是否有一个命令可以让我转到第 11 个块...而不需要手动计数?甚至有一个快捷方式可以转到下一个补丁会很有用。

有没有?

答案1

在补丁块之间移动的一个简单方法是首先搜索补丁标记的开头

  • 在统一的差异中

    /^@@Enter

  • 在上下文差异中

    /^\*\{15}Enter

然后通过重复搜索移动到下一个块

n(或者一次多个帅哥,例如3n

要通过帅哥向后移动,请使用

N(或例如4N


如果您知道需要查看的所有块号,例如第 11 块第 24,则可以首先使用 Hugh 建议的数量前缀搜索:然后通过始终从顶部计算11/^@@Enter移动到第 24 块gg24n或者直接向前推进:(13n块#24 比第 11 块领先 13 个块

答案2

从命令模式*中的补丁文件的第一行开始,你可以转到第 11 行:-

  • 在上下文差异中:

    11/^\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*Enter

  • 在统一的差异中:

    11/^@@Enter

* 我所说的命令模式是指帮助中所称的正常模式 - 即不是插入模式,也不是命令行模式(:

相关内容