Saya mencoba membuat pemetaan untuk melampirkan paragraf yang dipilih secara visual di
tag:
vnoremap <silent> _p <Esc>`>a</p><Esc>`<i<p> <Esc>: '<,'> s / \ n \ {2,} / <\ / p> \ r \ r <p> / g <CR>
Sayangnya, pemetaan ini selalu menambahkan yang tidak diinginkan </p>\r\r<p>
pada akhir pemilihan (yaitu di belakang </p>
ditambahkan di belakang karakter terakhir dalam langkah 1).
Pemilihan tidak diakhiri dengan double linebreak, sehingga polanya tidak cocok. Apa yang saya lakukan salah?
Dari Answer
Terima kasih, Romain - Saya telah menginstal plugin surround, tetapi tidak membantu ketika blok yang dipilih berisi beberapa paragraf. Pemetaan di atas digunakan untuk kasus ini, bukan untuk melampirkan satu paragraf.
Pemetaan saya pertama-tama menambahkan </p> ke akhir, kemudian <p> ke awal pemilihan, setelah itu harus mengganti setiap kemunculan dua atau lebih linebreak dengan kombinasi tag pembuka dan pembuka yang sesuai.
Saya masih tidak mengerti mengapa pola penggantian diterapkan pada akhir seleksi, yang tidak pernah terdiri dari double linebreak.