2011-01-09 16 views
1

DOS/Windowsファイルの行末はUnix/Linuxの行末とは異なるので、Windowsを使用して作成したファイルを開くたびに、各行の後にM。多くの人が使用してこの問題を解決する提案:LinuxでDOS/Windowsのテキストファイルを読む

set fileformat=dos 

限り私が気づいたとして、それはむしろ、どのように「読み」するよりも、ファイルを「保存」する方法Vimを伝えますので、私はこれを試してみましたが、それは動作しません。ファイル。私が望むのは、Linux、Windows、またはMACであれば、行末をそのまま保ち、正しく読み込み、同じフォーマットの編集を使用してファイルを保存することです。

答えて

3
  1. あなたのvimrcに

    set fileformats=unix,dos,mac 
    

    を追加します。

  2. vimが正しい行の終了を検出できなかった場合は、開いたファイルで実行してください。:e ++ff=dos素晴らしいです

+0

!だからあなたは "set fileformats = unix、dos、mac"という仕事をするべきですが、私の場合は正しい行末を見つけられません。それはなぜ失敗するのだろうか?特にVimのような高度なエディタでは、行末を検出するのに何か難しいことはありません。 – Rafid

+1

@Rafid K. Abdullah私が正しく覚えていれば、LF/CRLFの行末が混在すると失敗します。 – ZyX

+0

ああ、それは良い点です。もう一つ投票! – Rafid

0
" put this in your ~/.vimrc, resource then and try :Dos2Unix 
" dos2unix ^M 
fun! Dos2unixFunction() 
    let [email protected]/ 
    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() 
関連する問題