2009-05-15 7 views
7

私はvimdiffをよく使うことを学んでいます。現在、私はバッファから別のブロックへのブロックを(doを使用して)取得する方法を考え出しましたが、私が今やりたいことは、単に他のバッファ内のブロックの1行(またはいくつかの行)を取得することです。vimdiffでdiffgetを使用する

:[range]diffget 

が、私は単に私が他のバッファから上だ行をコピーするには、正しい範囲パラメータを持ってする方法を見つけ出すことはできません。

vimdiffドキュメントは述べています。

答えて

9

あなたは、現在の行から現在の行までの範囲として

:.,. 

を使用することができます。

文書によると、範囲を省略すると、上の現在の行または行が使用されます。

+3

範囲なしでは、現在の行だけでなく、diffブロック全体をコピーします。 – claf

+3

'、.'は必要なく、' .'で十分です。 – ZyX

0

Mykolaが言ったように:。、。現在の行を範囲として指定します。

私は非常に大きなファイルを持っていましたので、各行の検査や変更が必要でしたので、たびたび ":。、.diffput"と打つのは面倒でした。

qq:.,.diffput[ENTER]q 

右バッファに左バッファから単一の行を「置く」する(「Q」キーの下に保存された)マクロを作成しました:私は、マクロを記録しました。今、このアクションを繰り返すために、私がしなければならないすべては、私はそれが少し簡単またはDPを行い、その後Vとして、現在の行を選択するために見つける「@q」

1

を入力しています。これは、怒りをとするのと同じ効果があります。でも入力するのが簡単です!また、jまたはkと隣接する行を簡単に追加することもできます。

関連する問題