gitマージにvimdiffを使用しています。使用する 1 つのファイルを選択する簡単な方法はありますか?現在、1 つのバッファーからすべてを選択し、$MERGE をそれに置き換えて保存しています。私はそれをマクロ化できると思いますが、より良い方法があるかどうか疑問に思っていました. ありがとう!
11461 次
4 に答える
38
いくつかの方法:
:%diffput
'現在のバッファから'その他の'バッファへのすべての変更を'置く'。これにより、3方向の差分が簡単になります。
:%diffput OURS
'OURS'パターンは、現在の差分に参加しているバッファ名で一意に一致します
上記のすべては、逆に、代わりにdo、または:diffget
于 2011-06-07T00:21:50.503 に答える
12
TimPopeのFugitiveプラグインをご覧ください。それは本当に便利なプラグインです。
競合するファイルで実行するGdiff
と、ターゲット、マージ、および作業コピーの3つのファイルが開かれます。保存するファイルに切り替えて実行Gwrite!
し、そのファイルを保存します。
このプラグインとのマージの競合を解決する方法を説明する Vimcast全体があります(そしてFugitive.vimについて詳しく説明している他の5つのvimcast)。
于 2011-06-07T02:23:55.510 に答える
5
- 参加しているすべてのバッファが差分モードになっていることを確認します (
:h start-vimdiff
差分モードの開始方法を参照してください)。 v
ベースでビジュアルモードを行う- ファイル全体を選択する (全押し
Page Down
) - Write
:
thendiffget <buffer number/name>
(: ls
すべてのバッファを一覧表示します。通常、vimdiff では右から左に 1 ~ 3、または 3 方向の diff の場合は 4 です) - その後
: wqa
、ちょうどあなたは完了です
または、ステップ 0. の後に:%diffget <buffer number>
、指定されたバッファーからすべての変更を取得して、:diffget
範囲も受け入れることができます。( および を参照:%
してください:diffget
。)
逆も機能します。:%diffput <buffer>
すべての変更をバッファー番号に送信し、2 つのバッファーの内容を同じにします。
于 2014-06-19T14:37:48.583 に答える