Чтение текстового файла DOS/Windows в Linux

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

set fileformat=dos

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

Есть идеи?


person Rafid    schedule 09.01.2011    source источник


Ответы (1)


  1. Добавлять

    set fileformats=unix,dos,mac
    

    к вашему vimrc.

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

person ZyX    schedule 09.01.2011
comment
Это великолепно! То есть вы имеете в виду, что set fileformats=unix,dos,mac должен выполнять эту работу, но в моем случае он не может определить правильные окончания строк? Почему он потерпит неудачу? Я не вижу ничего сложного в обнаружении концов строк, особенно для такого продвинутого редактора, как Vim. - person Rafid; 09.01.2011
comment
@ Rafid K. Abdullah Если я правильно помню, это не работает со смешанными окончаниями строк LF / CRLF. - person ZyX; 09.01.2011