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, s
avvia 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. \1
Rappresenta il gruppo acquisito nel modello di ricerca. :%s/foo/bar/
sostituisce foo
con bar
nel 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!