如何区分文件 A 中的第 2-4 行和文件 B 中的第 8-10 行?
另外,是否可以直观地选择每个文件中的行,而不是写下行号?
谢谢!
答案1
您想要的解决方案目前在 Vim 中不存在,尽管一些开发人员正在讨论它。我使用过两种解决方案。
一种方法是删除文件A中的第1行和文件B中的第1-7行,然后比较剩余的行(例如,使用:windo diffthis
)。
另一种是使用插件,例如北纬将感兴趣的行复制到新缓冲区,然后比较这些缓冲区。NrrwRgn 插件的一个不错的功能是,您可以更改这些新缓冲区,当您退出它们时,更改会复制回原始缓冲区。
对于任何可以指定行范围的 Vim 操作,可以通过多种方式指定该范围。一种是使用行号。另一种是逐行直观地选择区域。请参阅
:help [range]
:help V
使用 NrrwRgn 插件来解决您的示例,您可以将光标放在文件 A 的第 2 行并输入
Vjj\nr
以可视方式选择第 2-4 行 ( Vjj
) 并将其复制到新缓冲区 ( \nr
)。然后将光标放在文件 B 的第 8 行上并重复相同的操作。在两个新缓冲区中,分别执行
:diffthis
虽然不优雅,但确实有效。