9

Vimdiffでは、「do」または「dp」を使用して、あるファイルから別のファイルに変更を移動できることを知っています...しかし、これらは個々の変更用です。特定のスコープ/選択内のすべての変更を元に戻す必要がある場合(たとえば、特定の機能へのすべての変更を元に戻すが、残りはそのままにします)、一度にそれを行う方法はありますか?

4

1 に答える 1

14

視覚的な選択とexコマンドを使用できます:diffget/:diffput

したがって、たとえば、コードブロックの現在の内部のみの変更を取得するには({...})

Vi}:diffget<Enter>

角かっこ付きの行を含む2つの囲んでいるレベルの変更を加えるには

V2a}:diffput<Enter>

これらはexコマンドであるため、モーションはラインワイズであることに注意してください。もちろん、任意の範囲を使用できるため、視覚的な範囲を繰り返したり、マーカーを使用したりできます

:'a,'bdiffput

など。あなたの想像力を使ってください、これはvimです:)

于 2011-05-23T06:58:58.217 に答える