Chèn ký tự xuống dòng trong vim


101

Tôi đang chỉnh sửa khung giao thức mạng được lưu trữ một tệp trong Unix ( \ndòng mới). Tôi cần chèn ký tự xuống dòng ( U+000Dhay còn gọi là \r). Khi tôi cố gắng dán nó từ khay nhớ tạm ( "+p) hoặc nhập nó bằng Ctrl+ Shift+ u- 000d, nguồn cấp dữ liệu dòng được chèn ( U+000A).

Cách làm đúng là gì?


Không. Tôi đoán việc trốn thoát của bạn có thể là sai. Bạn có thể đề xuất một giải pháp dựa trên regexp (đang hoạt động) khác không? :)
Andrey Vlasovskikh.

Câu trả lời:


168

Loại: ctrl- v ctrl-m

Trên Windows Sử dụng: ctrl- q ctrl-m

Ctrl- Vnói với vi rằng ký tự tiếp theo được nhập phải được chèn theo nghĩa đen và ctrl- mlà tổ hợp phím cho dấu xuống dòng.


10
Cảm ơn, điều này làm việc cho tôi. Sự trợ giúp có thể được tìm thấy bằng cách sử dụng :help ins-special-keys.
Andrey Vlasovskikh

1
Nếu bạn đang sử dụng cài đặt Windows mặc định, hãy thay thế CTRL + V bằng CTRL + Q vì CTRL + V được đổi tên thành 'dán'.
Cyber ​​Oliveira vào

9
Sau nhiều lần cân nhắc, tôi sẽ thêm điều này vào đây mặc dù đó là một câu hỏi cũ: để chèn một ký tự CR theo nghĩa đen từ lệnh: s, bạn phải đặt trước nó bằng một dấu gạch chéo ngược hoặc nếu không, vim (7.1.314) sẽ chuyển đổi nó thành cuối ký tự dòng thích hợp cho cài đặt định dạng tệp của bạn. tức là nhập :s/.../\^V^M/g.
DerfK

6
Còn Ctrl+Vsau đó Enter? Tôi nhận thấy rằng cũng chèn ^Mvào văn bản
Braden nhất

2
Lưu ý rằng điều này cũng hoạt động đối với ESC: đầu tiên, vào chế độ CHÈN (i), sau đó Ctrl + V ESC và bạn đã có cho mình một ký tự ESC.
Christopher Schultz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.