
如何比較 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
不優雅,但有效。