Saya ingin memasukkan kata dalam beberapa baris, apakah ada perintah seperti itu
:[2,3,5,7,11]s/^/word\ /g
yang akan disisipkan word
pada awal baris 2, baris 3, baris 5, baris 7 dan baris 11?
Di sini, banyak baris tidak bersebelahan.
Saya ingin memasukkan kata dalam beberapa baris, apakah ada perintah seperti itu
:[2,3,5,7,11]s/^/word\ /g
yang akan disisipkan word
pada awal baris 2, baris 3, baris 5, baris 7 dan baris 11?
Di sini, banyak baris tidak bersebelahan.
Jawaban:
Melakukan penggantian pada beberapa baris berturut-turut cukup mudah:
:2,11s/^/word /
tetapi rentang tidak dapat mencakup garis yang tidak berurutan.
Namun, dengan sedikit kreativitas, sangat mungkin untuk mengatasi "keterbatasan" itu.
Memang, Anda dapat mengulangi substitusi terakhir dengan :&
atau :&&
(yang pertama tidak akan mempertahankan bendera asli, yang terakhir akan) sehingga Anda dapat rantai substitusi dengan mudah:
2s/^/word /|3&|5&|7&|11&
Lihat :help :&
dan gulir sekitar untuk :&&
.