Risposte:
:%s/\n\(\(A\.$\)\@!.*\)/\1/
Sostituisci una corrispondenza del modello:
un gruppo contenente di
A.seguita direttamente da end-of-line, quindicon:
e farlo a livello globale.
:help \@!in Vim per maggiori informazioni su quella parte. Altrimenti è semplice, si spera, con la mia spiegazione. Un problema con il tuo approccio è che se " A." si verifica nel testo, sebbene non come una linea di marcatura isolata, verrà diviso come se fosse originariamente un marcatore. In pratica, potrebbe non essere un problema (non so come sia il tuo file "reale"), ma in genere può causare comportamenti indesiderati se uno non ne è consapevole.
:%s///sintassi: è una sintassi "cerca e sostituisci" in Vim. :avvia il comando, %specifica l'intero buffer come intervallo, savvia una sostituzione. /è il delimitatore di pattern (è possibile utilizzare qualsiasi altro carattere, ma /è "standard"). Il primo /avvia il modello di ricerca, il secondo il modello di sostituzione e il terzo lo termina. Sono disponibili modificatori finali per specificare l'insensibilità ai casi, ecc. \1Rappresenta il gruppo acquisito nel modello di ricerca. :%s/foo/bar/sostituisce foocon barnel file.
:%s/^A\.//. Il metodo nella risposta non cattura gli ^A\.schemi stessi (piuttosto la loro assenza), quindi non può modificare quelle stringhe in modo ovvio.
Questo funziona anche (quando inizia la prima riga A.)
:v/^A/-1j!