1. ホーム
  2. vim

[解決済み] ファイルモードがDOSのときでもキャリッジリターン(^M)を表示するgVim

2023-06-21 06:21:05

質問

WindowsでgVimを使っています。私のコードでは ^M という文字が行末に表示されます。私は :set ff=dos を使っても無駄でした。その ^M の文字は既存の行には残りますが、私が入力した改行には表示されません。 私はモードをmacに切り替えました(表示されるのは ^J 文字が表示される)、unix(また ^M 文字も表示されます)、そしてDOSに戻りました。 他にこれを見た人はいますか?

どのように解決するのですか?

Windowsの改行コードとUnixの改行コードが混在している場合に発生します。100 行あって、99 行が \r で、1 行が \n だとすると、99 個の ^M 文字が表示されます。修正方法は、その1行を見つけて置き換えることです。または、そのファイルでdos2unixを実行してください。Windowsの行末を置き換えればいい。

:%s/\r\(\n\)/\1/g