1

ご存じのとおり、DOS/Windows ファイルの行末は Unix/Linux の行末とは異なるため、Windows で作成したファイルを開くと、各行の後に何百もの ^M が表示されます。多くの人が、次を使用してこの問題を解決することを提案しました。

set fileformat=dos

私はこれを試しましたが、うまくいきません。私が気づいた限り、ファイルを「読み取る」方法ではなく、ファイルを「保存」する方法をVimに指示するからです。私が望むのは、Linux、Windows、または MAC のいずれであっても、行末をそのまま維持し、それらを正しく読み取り、編集後に同じ形式を使用してファイルを保存することです。

何か案が?

4

2 に答える 2

3
  1. 追加

    set fileformats=unix,dos,mac
    

    あなたのvimrcに。

  2. :e ++ff=dosvim が正しい行末を検出できなかった場合に、開いているファイルで実行します。

于 2011-01-09T09:55:36.067 に答える
0
" put this in your ~/.vimrc, resource then and try :Dos2Unix
" dos2unix ^M
fun! Dos2unixFunction()
    let _s=@/
    let l = line(".")
    let c = col(".")
    try
        set ff=unix
        w!
        "%s/\%x0d$//e
    catch /E32:/
        echo "sorry, first save your file."
    endtry
    let @/=_s
    call cursor(l, c)
endfun
com! Dos2Unix keepjumps call Dos2unixFunction()
于 2011-01-09T15:59:29.717 に答える