Поиск…


замечания

Символ ^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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow