Ако отворя файлове, създадени в Windows, всички редове завършват с ^M
.
Как да изтрия всички тези символи наведнъж?
dos2unix е помощна програма за командния ред, която ще направи това, или :%s/^M//g
ще го направи, ако използвате Ctrl-v Ctrl-m за въвеждане на ^M, или можете да :set ff=unix
и vim ще го направи вместо вас.
Документите за настройката 'fileformat' са тук, а в уикито на vim има обширна страница за преобразуване на окончания на редове.
Алтернативно, ако често премествате файлове напред-назад, може да не искате да ги конвертирате, а да направите :set ff=dos
, така че vim да знае, че това е DOS файл и да използва DOS конвенциите за завършване на редовете.
:%s/\r+//g
Във Vim това премахва всички връщания на карета и оставя само нови редове.
:g/Ctrl-v Ctrl-m/s///
CtrlM е символът \r
, или връщане на карета, който се добавя в края на реда на DOS. CtrlV казва на vim да вмъкне буквален CtrlM символ в командния ред.
Като цяло тази команда замества всички \r
с нищо, като ги премахва от края на редовете.