Чтение текстового файла DOS / Windows в Linux - PullRequest
1 голос
/ 09 января 2011

Как вы все знаете, окончания строк в файле DOS / Windows отличаются от концов в Unix / Linux, поэтому всякий раз, когда я открываю файл, созданный в Windows, я вижу сотни ^ M после каждой строки. Многие люди предлагали решить эту проблему, используя:

set fileformat=dos

Я попробовал это, но это не работает, потому что, насколько я заметил, он говорит Vim, как «сохранять» файл, а не как «читать» файл. Я хочу, чтобы концы строк были такими, какие они есть, будь то Linux, Windows или MAC, правильно их читали и сохраняли файл, используя тот же формат, что и для редактирования.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 09 января 2011
  1. Добавить

    set fileformats=unix,dos,mac
    

    на ваш vimrc.

  2. Запустите :e ++ff=dos в открытом файле, если vim не смог определить правильное окончание строки.

0 голосов
/ 09 января 2011
" 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()
...