115

2つのファイルを開いています。それらは、次の隣に垂直モードで開かれます。Vimを離れたり閉じたりせずに、これら2つのファイルを即座に比較できますか?

4

4 に答える 4

180

表示されているすべてのウィンドウで差分を開始するには:

:windo diffthis

:diffthisこれは各ウィンドウで実行されます。

差分モードを終了するには:

:diffoff!

!makesdiffoffは、現在のタブのすべてのウィンドウに適用されますdiffthis。同じ機能があればいいのですが、そうではありません。)

于 2010-12-08T10:04:14.560 に答える
25

差分を入力する各ウィンドウで、次のように入力します。

:diffthis

開いているすべてのウィンドウを比較したい場合は、次のことができます。

:windo diffthis

windo開いているすべてのウィンドウにコマンドを適用します)

于 2010-12-08T08:40:43.480 に答える
9

以前の回答のフォローアップ、

  • :windo difft(の略diffthis)は、開いているすべてのウィンドウで差分モードを開始します。
  • :windo diffo(の略diffoff)は、開いているすべてのウィンドウで差分モードを停止します。

vimrc簡単にするために、次のマッピングがあります。

command! Difft windo diffthis
command! Diffo windo diffoff
于 2015-06-29T17:45:31.233 に答える
6

以前の回答に続いて、@cxwによって提供されるマッピングを適応させました。次のマッピングは、 NERDTreeを自動的に閉じ、開いているウィンドウを比較します。NERDTreeが閉じているかどうかは関係ありませんが、同じように機能します。私はこれをかなり頻繁に行うので、かなりの時間を節約できました。

command! Difft NERDTreeClose | windo diffthis
于 2018-06-06T11:17:45.793 に答える