Réponses:
:%s/\n\(\(A\.$\)\@!.*\)/\1/
Remplacez un motif correspondant:
un groupe contenant de
A.
directement suivie de fin de ligne, puisavec:
et le faire à l'échelle mondiale.
:help \@!
dans Vim pour plus d'informations sur cette partie. Sinon, c'est simple, j'espère, avec mon explication. Un problème avec votre approche est que si " A.
" apparaît dans le texte, mais pas comme une ligne de marqueur isolée, il sera divisé comme s'il s'agissait à l'origine d'un marqueur. En pratique, ce n'est peut-être pas un problème (je ne sais pas à quoi ressemble votre "vrai" fichier), mais génériquement il peut provoquer un comportement indésirable si l'on n'est pas au courant de cela.
:%s///
syntaxe: c'est une syntaxe "rechercher et remplacer" dans Vim. :
démarre la commande, %
spécifie l'ensemble du tampon comme plage, s
démarre une substitution. /
est le délimiteur de modèle (tout autre caractère peut être utilisé, mais /
est "standard"). Le premier /
démarre le modèle de recherche, le second le modèle de remplacement et le troisième le termine. Des modificateurs de fin sont disponibles pour spécifier l'insensibilité à la casse, etc. \1
représentent le groupe saisi dans le modèle de recherche. :%s/foo/bar/
remplace foo
par bar
dans le fichier.
:%s/^A\.//
. La méthode dans la réponse ne capture pas les ^A\.
motifs eux-mêmes (plutôt leur absence), elle ne peut donc pas modifier ces chaînes de manière évidente.
Cela fonctionne également (lorsque la première ligne commence par A.
)
:v/^A/-1j!