VIM:如何区分两个不同文件中的特定行

VIM:如何区分两个不同文件中的特定行

如何区分文件 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

虽然不优雅,但确实有效。

相关内容