Вставьте символ возврата каретки в vim

101

Я редактирую фрейм сетевого протокола, хранящийся в файле в Unix ( \nновые строки). Мне нужно вставить символ возврата каретки ( U+000Dон же \r). Когда я пытаюсь вставить его из буфера обмена ( "+p) или набираю его с помощью Ctrl+ Shift+ u- 000d, вставляется перевод строки ( U+000A).

Как правильно это делать?

Андрей Власовских
источник
Нет. Думаю, ты ошибся в побеге. Не могли бы вы предложить другое (работающее) решение на основе регулярных выражений? :)
Андрей Власовских

Ответы:

169

Тип: ctrl- v ctrl-m

В Windows Использование: ctrl- q ctrl-m

Ctrl- Vсообщает vi, что следующий набранный символ должен быть вставлен буквально, и ctrl- mэто нажатие клавиши для возврата каретки.

R Самуэль Клатчко
источник
10
Спасибо, у меня работает Помощь можно найти с помощью :help ins-special-keys.
Андрей Власовских
1
Если вы используете установку Windows по умолчанию, замените CTRL + V на CTRL + Q, поскольку CTRL + V переназначен на «вставить».
Cyber ​​Oliveira,
9
После долгой тряски я добавляю это сюда, хотя это старый вопрос: чтобы вставить буквальный символ CR из команды a: s, вы должны поставить перед ним обратную косую черту, иначе vim (7.1.314) преобразует его в конец строковый символ, соответствующий настройке формата файла. т.е. введите :s/.../\^V^M/g.
DerfK 09
6
А как насчет того, что Ctrl+Vследует Enter? Замечу, что тоже вставляет ^Mв текст
Брейден Бест
2
Обратите внимание, что это также работает для ESC: сначала войдите в режим INSERT (i), затем Ctrl + V ESC, и вы получите символ ESC.
Кристофер Шульц,