コマンドプロンプトで、
vimdiff file1 file2
2つのファイルが並んで開いているvimインスタンスを取得します。ファイル内のテキストが次のようになっていると仮定します(file1が左側、file2が右側)。
╔═══════╤═══════╗
║foo │-------║
║bar │bar ║
║grue │-------║
║~ │~ ║
║~ │~ ║
╚═══════╧═══════╝
ここで、カーソルが「foo」の「f」にあり、file1の最初の行をfile2の最初の行にコピーしたいとします。
これを行う1つの方法は、 v $ yで行を選択してヤンク(コピー)し、Ctrl + wlを使用してカーソルをfile2の最初の行に移動し、pと入力してコピーした行を貼り付けることです。これを実行して、結局は本当にやりたくないと判断した場合は、uを押して、file2で実行した貼り付けコマンドを元に戻すことができます。
これを行う別の方法は、diffputコマンドdpを使用することです。ただし、これを行った後、それを行うつもりがないと判断した場合、カーソルがまだfile1にあり、uコマンドがfile1への最新の変更を元に戻すため、 uを押すだけで元に戻すことはできません。 file2への最近の変更。したがって、代わりにCtrl+wlまたはCtrl+wwを使用してカーソルをfile2のウィンドウに移動し、uを押す必要があります。
したがって、私の質問は、上記のようにdpを使用した後、カーソルを他のファイルのウィンドウに移動せずに元に戻す簡単な方法はありますか?