Попробуйте это:
как нарисованные. Источник - Android - отрисовка с закругленными углами только сверху
Ничто из вышеперечисленного не помогло мне. (замена на \ r, ^ M, ctrl-v-ctrl-m) Я использовал копирование и вставку, чтобы вставить свой текст в новый файл.
Если у вас есть макросы, которые мешают, вы можете попробовать :set paste
до операции вставки и :set nopaste
после.
В качестве альтернативы, существуют утилиты с открытым исходным кодом, называемые dos2unix и unix2dos, которые делают именно эту вещь. В системе Linux они, вероятно, установлены по умолчанию; для системы Windows вы можете загрузить их с http://www.bastet.com/ и др.
В моем случае
Ничто из вышеперечисленного не сработало, у меня был файл CSV, скопированный на компьютер Linux с моего компьютера Mac, и я использовал все вышеперечисленные команды, но ничего не помогло, кроме приведенной ниже
tr "\015" "\n" < inputfile > outputfile
У меня был файл, в котором символы ^ M были переключены между строками примерно так, как показано ниже
Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKT6TG,TRO_WBFB_500,Trico,CARS,Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKTG0A,TRO_WB_T500,Trico,
«Эта функция сохраняет список переходов
fun! Dos2unixFunction()
let _s=@/
let l = line(".")
let c = col(".")
try
set ff=unix
w!
"%s/\%x0d$//e
catch /E32:/
echo "Sorry, the file is not saved."
endtry
let @/=_s
call cursor(l, c)
endfun
com! Dos2Unix keepjumps call Dos2unixFunction()
Для того, чтобы символ ^ M соответствовал, мне пришлось визуально выбрать его, а затем использовать команду «Копировать в буфер обмена» для его извлечения. Вы можете проверить это, выполнив поиск символа, прежде чем пытаться выполнить команду замены.
/^M
следует выбрать первую неверную строку
:%s/^M/\r/g
заменит все ошибочные ^ M на возврат каретки.
Это как функции в MacVim, который основан на gvim 7.
РЕДАКТИРОВАТЬ:
Повторно возникла эта проблема на моем компьютере с Windows 10, на котором установлена Ubuntu для Windows, и я думаю, что это вызывает проблемы с форматированием файлов для vim. В этом случае изменение ff на unix, mac или dos ничего не изменило, кроме как изменить ^ M на ^ J и обратно.
Решение в этом случае:
:%s/\r$/ /g
:%s/ $//g
Причина, по которой я пошел по этому пути, заключается в том, что я хотел убедиться, что я был неразрушающим с моим файлом. Я мог бы :%s/\r$//g
, но это удалило бы возврат каретки сразу, и могло бы иметь неожиданные результаты. Вместо этого мы преобразуем единственный символ CR, здесь символ ^ M, в пробел, а затем удаляем все пробелы в конце строк (что для меня является желательным результатом независимо)
Извините за возрождение старого вопроса на это уже давно дан ответ, но, похоже, в замешательстве возникла некоторая путаница, и я подумал, что помогу кое-что прояснить, так как это происходит в поиске в Google.