Jawaban:
:%s/\n\(\(A\.$\)\@!.*\)/\1/
Mengganti pencocokan pola:
grup yang berisi
A.
langsung diikuti oleh end-of-line, laludengan:
dan lakukan ini secara global.
: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/
menggantikan foo
dengan bar
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.
)
:v/^A/-1j!