vim
Преобразование текстовых файлов из DOS в UNIX с помощью vi
Поиск…
замечания
Символ ^M
означает возврат каретки в Vim ( <cm>
или просто <CR>
). Vim отображает этот символ, когда по крайней мере на линии в файле используются окончания строки LF
. Другими словами, когда Vim рассматривает файл для файла fileformat=unix
но некоторые строки имеют возврат каретки ( CR
), возврат каретки отображается как ^M
Файл, который имеет одну строку с завершением строки LF
и несколько строк с окончанием строки CRLF
, чаще всего создается путем неправильного редактирования файла, созданного на основе MSDOS. Например, создав файл под операционной системой MSDOS, скопировав его в систему на базе UNIX, а затем добавив хеш-банд (например, #!/bin/sh
), используя инструменты в операционной системе UNIX.
Преобразование текстового файла DOS в текстовый файл UNIX
Довольно часто у вас есть файл, который был отредактирован в DOS или Windows, и вы просматриваете его под UNIX. Это может выглядеть следующим образом, когда вы просматриваете файл с помощью vi.
First line of file^M
Next Line^M
And another^M
Если вы хотите удалить ^ M, может быть, что вы удаляете каждый ^ M вручную. Альтернативно, в vi после нажатия Esc вы можете ввести следующее в командной строке:
:1,$s/^M//g
Где ^ M вводится с Ctrl и v вместе, а затем Ctrl и m вместе.
Это выполняет команду из первой строки «1» до последней строки «$», команда заключается в замене «s» на «^ M» на ничего »и на глобальном« g ».
Использование файла формы файла VIm
Когда Vim открывает файл с концами строк <CR><NL>
(общий для ОС на базе MSDOS, также называемый CRLF
), он будет устанавливать fileformat
в dos
, вы можете проверить, что:
:set fileformat?
fileformat=dos
Или просто
:set ff?
fileformat=dos
Чтобы преобразовать его в <NL>
строки <NL>
(общий для большинства операционных систем на базе UNIX, также называемый LF
), вы можете изменить параметр fileformat
а Vim изменит буфер.
:set ff=unix