Respostas:
:%s/\n\(\(A\.$\)\@!.*\)/\1/
Substitua uma correspondência de padrão:
um grupo contendo
A. diretamente seguido pelo fim de linha, então com:
e fazer isso globalmente.
:help \@! no Vim para mais informações sobre essa parte. Caso contrário, é direto, espero, com a minha explicação. Um problema com sua abordagem é que se " A. "ocorre no texto, embora não como uma linha de marcador isolada, ele será dividido como se fosse originalmente um marcador. Na prática, pode não ser um problema (não sei como é o seu arquivo" real ") , mas genericamente pode causar um comportamento indesejado, se alguém não está ciente disso.
:%s/// Sintaxe: é uma sintaxe de "pesquisa e substituição" no Vim. : inicia o comando % especifica o buffer inteiro como o intervalo, s inicia uma substituição. / é o delimitador de padrão (qualquer outro caractere pode ser usado, mas / é "padrão"). O primeiro / inicia o padrão de pesquisa, o segundo o padrão de substituição e o terceiro termina. Modificadores à direita estão disponíveis para especificar a insensibilidade a maiúsculas e minúsculas, etc. \1 representa o grupo capturado no padrão de pesquisa. :%s/foo/bar/ substitui foo com bar no arquivo.
:%s/^A\.//. O método na resposta não captura o ^A\. padrões próprios (e não a sua ausência), por isso não pode modificar essas cadeias de uma forma óbvia.
Isso também funciona (quando a primeira linha começa com A. )
:v/^A/-1j!