Vim の改行コードの続き

遠くの方からツッコミが聞こえたのでちと追記。
@ka_ さんからこんな感じの意見を頂いたのでちょっと実装してみました。

[vimrc]

function! s:set_fileformat()
    if &fileformat != "unix"
\   && !get(b:, "set_fileformat_checked", 0)
\   && input("setlocal fileformat=unix?[y/n]") == "y"
        try
            setlocal fileformat=unix
        catch
        endtry
    endif
    let b:set_fileformat_checked = 1
endfunction

augroup vimrc_group_set_fileformat
    autocmd!
    autocmd BufWritePre * :call <SID>set_fileformat()
augroup END

これで unix 以外の改行コードの場合にファイルを保存するとメッセージが出力されて変換の有無を確認出来ます。
1度確認したバッファは、以後バッファが残っている限りメッセージは出力しません。
とりあえず、こんな感じ。
他の Vimmer はどうやって対応しているんだろうか。