Vimでdiffsplit
などで差分を見た後、片方のバッファーを閉じるとdiffモードのままなので、手動でdiffoff
しないといけない。僕はdiffモードやQuickfixの時しかウィンドウ分割を使わないみたいな感じのライトなVimユーザーなので、片方閉じたら自動的にdiffモードを終了させたい。そういう設定は特になさそうなので、自動コマンドでやってやった。
augroup DiffAutocommands
autocmd!
" Turn off diff mode automatically
autocmd WinEnter * if (winnr('$') == 1) && (getbufvar(winbufnr(0), '&diff')) == 1 | diffoff | endif
augroup END
バッファーを閉じて他のウィンドウへ移動した時、ウィンドウの数(winnr('$')
)が1で、diffモード(&diff
)だった場合にdiffoff
を呼んでやるようにした。手元の環境ではうまく動いてる。