VIM で 2 つのファイルを比較するとき、行を折り返す方が好きです。ただし、vimdiff はデフォルトでラップをオフに設定します。
すべての差分に対して自動的に改行を設定する方法はありますか?
私は以下を使用します:
autocmd FilterWritePre * if &diff | setlocal wrap< | endif
FilterWritePre
生成された diff がバッファーに書き込まれる直前にトリガーされ、setlocal wrap<
のグローバル値をコピーしますwrap
。もちろん単純に強制することも可能setlocal wrap
です。
以下をvimrcに入れることができます。
au VimEnter * if &diff | execute 'windo set wrap' | endif
vim がすでに開始されている場合、差分とラップを開始するコマンドは、各分割ウィンドウ ファイルにあります。
:diffthis
:set wrap
ただし、diff+wrap は正しく表示されません。
一方のファイルに長い行があり、もう一方のファイルに短い行または欠落している行がある場合、長い行は最初の側で 2 行を占め、短い行または欠落している行は 2 番目の側で 1 行しか占有しません。側。
これにより、2 つのファイルが垂直方向にずれます。確かに、色はこの変化を視覚的に補正するのに役立ちます。しかし、diff の数行にわたって、シフトがウィンドウの高さよりも高くなり、diff が判読不能になる場合があります。
質問は完全には解決されていません...アドバイスしてください。
特定の端末から起動したときにのみvimdiff
ラップしたいデモのために、この質問を解決する必要がありました。
私はついに原油に頼った:
alias vimdiff='vimdiff +"windo set wrap"'
vimdiff file.orig file