web-dev-qa-db-ja.com

vimがDOSの行末でファイルを作成するのはなぜですか?

私が持っています

set fileformat=unix

私の.vimrc内にありますが、vim(Cygwinで実行)にファイルを作成すると、DOS形式のファイルの作成に残り、dos2unixを介してそれらを実行する必要がありますそれら。 (私は本当にそうではないと思いますhave to、Gitが私のためにそれらをクリーンアップするので、それは私がUnixの行末を使用するように特に指示したUnixテキストエディタを死に至らせるだけです、余分なゴミで汚染しています。)

なぜこれが起こるのでしょうか?どうすれば修正できますか? (そして "修正"とはnotそれぞれのファイルを個別に変換する必要があることを意味します。それは修正ではありません。それは完全に壊れています。)

15
iconoclast

いくつかの要因によっては、fileformatのみを設定するだけでは不十分な場合があります。これを試して:

set fileformat=unix
set fileformats=unix,dos
"set nobinary

これらの機能を理解するには、:help fileformatsなどをご覧ください。

Windowsでgitが提供するvim.exeを使用して、問題を再現できると思います。上記の設定を使用すると、問題が解決しました。例では、set nobinaryは必要ないのでコメントアウトされています。さらに調査する必要がある場合に役立つヒントとして、ここに残しました。

22
janos