Masukkan karakter carriage return di vim

101

Saya mengedit bingkai protokol jaringan yang menyimpan file di Unix ( \nbaris baru). Saya perlu memasukkan karakter kembali kereta ( U+000Dalias \r). Ketika saya mencoba menempelkannya dari clipboard ( "+p) atau mengetiknya menggunakan Ctrl+ Shift+ u- 000d, linefeed disisipkan ( U+000A).

Bagaimana cara yang benar untuk melakukannya?

Andrey Vlasovskikh
sumber
Tidak. Kurasa pelarianmu mungkin salah. Bisakah Anda mengusulkan solusi lain (bekerja) berbasis regexp? :)
Andrey Vlasovskikh

Jawaban:

168

Jenis: ctrl- v ctrl-m

Pada Penggunaan Windows: ctrl- q ctrl-m

Ctrl- Vmemberi tahu vi bahwa karakter berikutnya yang diketik harus disisipkan secara harfiah dan ctrl- mmerupakan penekanan tombol untuk carriage return.

R Samuel Klatchko
sumber
10
Terima kasih, ini berhasil untuk saya. Bantuan dapat ditemukan menggunakan :help ins-special-keys.
Andrey Vlasovskikh
1
Jika Anda menggunakan penginstalan Windows default, ganti CTRL + V dengan CTRL + Q karena CTRL + V diubah menjadi 'tempel'.
Cyber ​​Oliveira
9
Setelah banyak melakukan headbang, saya menambahkan ini di sini meskipun ini adalah pertanyaan lama: untuk memasukkan karakter CR literal dari perintah: s, Anda harus mendahului dengan garis miring terbalik atau vim (7.1.314) akan mengubahnya menjadi akhir karakter baris yang sesuai untuk pengaturan format file Anda. yaitu masuk :s/.../\^V^M/g.
DerfK
6
Bagaimana dengan Ctrl+Vdiikuti Enter? Saya perhatikan itu juga menyisipkan ^Mke dalam teks
Braden Best
2
Perhatikan bahwa ini juga berfungsi untuk ESC: pertama, masuk ke mode INSERT (i), lalu Ctrl + V ESC, dan Anda mendapatkan karakter ESC.
Christopher Schultz