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?


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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.