Saya memiliki file teks yang terlihat seperti ini:
A.
text
text
text
A.
more text
more text
A.
more text
Saya ingin menggabungkan semua garis di antara "marker" A.
sehingga terlihat seperti:
A.texttexttext
A.more textmore text
A.more text
Bagaimana saya bisa melakukan ini di Vim?
:help \@!
di Vim untuk info lebih lanjut tentang bagian itu. Kalau tidak langsung, mudah-mudahan, dengan penjelasan saya. Masalah dengan pendekatan Anda adalah jika "A.
" muncul dalam teks, meskipun bukan sebagai garis penanda yang terisolasi, "" itu akan dipecah menjadi seolah-olah itu awalnya penanda. Dalam praktiknya ini mungkin bukan masalah (saya tidak tahu seperti apa file "asli" Anda), tetapi secara umum dapat menyebabkan perilaku yang tidak diinginkan jika seseorang tidak mengetahui hal ini.:%s///
sintaks: ini adalah sintaks "cari dan ganti" di Vim.:
memulai perintah,%
menentukan seluruh buffer sebagai kisaran,s
memulai substitusi./
adalah pembatas pola (setiap karakter lain dapat digunakan, tetapi/
"standar"). Yang pertama/
memulai pola pencarian, yang kedua adalah pola ganti, dan yang ketiga mengakhirinya. Pengubah jejak tersedia untuk menentukan ketidakpekaan huruf, dll.\1
Mewakili kelompok yang diraih dalam pola pencarian.:%s/foo/bar/
menggantikanfoo
denganbar
dalam file.:%s/^A\.//
. Metode dalam jawaban tidak menangkap^A\.
pola itu sendiri (bukan ketidakhadiran mereka), sehingga tidak dapat memodifikasi string tersebut dengan cara yang jelas.Ini juga berfungsi (ketika baris pertama dimulai dengan
A.
)sumber