39

VIM で 2 つのファイルを比較するとき、行を折り返す方が好きです。ただし、vimdiff はデフォルトでラップをオフに設定します。

すべての差分に対して自動的に改行を設定する方法はありますか?

4

6 に答える 6

42

私は以下を使用します:

autocmd FilterWritePre * if &diff | setlocal wrap< | endif

FilterWritePre生成された diff がバッファーに書き込まれる直前にトリガーされ、setlocal wrap<のグローバル値をコピーしますwrap。もちろん単純に強制することも可能setlocal wrapです。

于 2013-06-26T20:29:48.623 に答える
39

以下をvimrcに入れることができます。

au VimEnter * if &diff | execute 'windo set wrap' | endif
于 2013-06-01T00:50:41.007 に答える
17

vim がすでに開始されている場合、差分とラップを開始するコマンドは、各分割ウィンドウ ファイルにあります。

:diffthis
:set wrap

ただし、diff+wrap は正しく表示されません。

一方のファイルに長い行があり、もう一方のファイルに短い行または欠落している行がある場合、長い行は最初の側で 2 行を占め、短い行または欠落している行は 2 番目の側で 1 行しか占有しません。側。

これにより、2 つのファイルが垂直方向にずれます。確かに、色はこの変化を視覚的に補正するのに役立ちます。しかし、diff の数行にわたって、シフトがウィンドウの高さよりも高くなり、diff が判読不能になる場合があります。

質問は完全には解決されていません...アドバイスしてください。

于 2013-12-11T15:41:39.317 に答える
3

特定の端末から起動したときにのみvimdiffラップしたいデモのために、この質問を解決する必要がありました。

私はついに原油に頼った:

alias vimdiff='vimdiff +"windo set wrap"'
vimdiff file.orig file
于 2017-02-02T14:48:38.360 に答える