Вставте символ повернення каретки в 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це натискання клавіші для повернення вагона.


10
Дякую, це працює для мене. Довідку можна знайти за допомогою :help ins-special-keys.
Андрій Власовських

1
Якщо ви використовуєте інсталяцію Windows за замовчуванням, то замініть CTRL + V на CTRL + Q, оскільки CTRL + V перероблено на "вставити".
Кібер Олівейра

9
Після багато заголовків я додаю це сюди, хоча це старе питання: щоб вставити буквальний символ символу CR з команди: s, ви повинні передувати йому зворотній косою рисою, інакше vim (7.1.314) перетворить його до кінця символом рядка, відповідним вашим параметрам формату файлу. тобто введіть :s/.../\^V^M/g.
ДерфК

6
А як Ctrl+Vнаслідок Enter? Зауважую, що також вставляється ^Mв текст
Braden Best

2
Зауважте, що це також працює і для ESC: спочатку перейдіть в режим INSERT (i), потім Ctrl + V ESC, і ви отримали собі символ ESC.
Крістофер Шульц
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.