VIM:如何區分兩個不同檔案中的特定行

VIM:如何區分兩個不同檔案中的特定行

如何比較 fileA 中的第 2-4 行和 fileB 中的第 8-10 行?

另外,是否可以直觀地選擇每個文件中的行,而不是寫下行號?

謝謝!

答案1

您想要的解決方案目前在 Vim 中不存在,儘管一些開發人員正在討論它。我使用過兩種解決方案。

一種是刪除 fileA 中的第 1 行和 fileB 中的第 1-7 行,並比較其餘行(例如,使用:windo diffthis)。

另一種是使用插件,例如正常值將感興趣的行複製到新緩衝區,然後比較這些緩衝區。 NrrwRgn 外掛程式的一個很好的功能是,您可以對這些新緩衝區進行更改,當您退出它們時,更改將複製回原始緩衝區。

對於任何可以指定行範圍的 Vim 操作,可以透過多種方式指定該範圍。一種是使用行號。另一種方法是按行直觀地選擇區域。看

:help [range]
:help V

使用 NrrwRgn 外掛程式來解決您的範例,您可以將遊標放在 fileA 的第 2 行並輸入

Vjj\nr

直觀地選擇第 2-4 行 ( Vjj) 並將它們複製到新緩衝區 ( \nr)。然後將遊標放在 fileB 的第 8 行並重複相同的順序。在兩個新緩衝區中的每一個中,執行

:diffthis

不優雅,但有效。

相關內容