web-dev-qa-db-ja.com

LinuxのVi:DOS形式のファイルの^ M行末を表示

Solarisでは、Windowsの行末があるviでファイルを開くと、すべての行の終わりに^ Mと表示されます。

Linuxでは、viは賢く、Windowsファイル形式を理解し、^ Mを表示しません。

この点でLinux viをSolarisと同じように動作させる設定はありますか?

私たちの共通の問題は、シェルスクリプトを(Windows)開発ボックスからコピーしてdos2unixを忘れ、それが正しく機能しないときに混乱することです。 Solarisでは、ファイルをviにするとすぐに問題が明白になりますが、Linuxではそうではありません。

ありがとう。

10
sss

すべてのCR文字が:set ffs=unixとして表示されるはずのviを起動するとき(またはvimrcでデフォルトとして設定するときに)^Mを試してください。

viは、LFまたは両方のCR/LFで終わる行に遭遇するかどうかに基づいて、使用する形式を自動推定します。

10
Garrett

現在のファイルのdos行末を表示するには:

:e +ff=unix

これにより、ファイル形式がunixに強制され、CR^Mとしてレンダリングされます


この設定を永続的にするには、~/.vimrcに追加します:

set ffs=unix

.vimrc設定はffsではなくffであることに注意してください。

2
wisbucky

:e ++ff=unix

(fork0)54321

0
Jan Kyu Peblik