回答:
:%s/\n\(\(A\.$\)\@!.*\)/\1/
パターンマッチングを置き換えます。
を含むグループ
A.直後に行末が続くのではなく、と:
これをグローバルに行います。
:help \@!その部分の詳細については、Vimを参照してください。それ以外の場合は、うまくいけば、説明があれば簡単です。あなたのアプローチの問題はA.、孤立したマーカー行としてではなく、テキストに「」が発生した場合、それが元々マーカーであるかのように分割されることです。実際にはそれは問題ではないかもしれません(私はあなたの「実際の」ファイルがどのように見えるのかわかりません)が、一般にこれに気付いていない場合、望ましくない動作を引き起こす可能性があります。
:%s///構文に慣れていない場合は、Vimの「検索と置換」構文です。:コマンドを開始し、%バッファー全体を範囲として指定しs、置換を開始します。/パターン区切り文字です(他の文字も使用できますが、/「標準」です)。1つ目/は検索パターンを開始し、2つ目は置換パターン、3つ目はそれを終了します。末尾の修飾子を使用して、大文字と小文字を区別しないように指定できます\1。検索パターンで取得されたグループを表します。ファイル内のと:%s/foo/bar/置き換えfooられbarます。
:%s/^A\.//です。回答のメソッドは^A\.パターン自体をキャプチャしない(むしろそれらが存在しない)ため、これらの文字列を明白な方法で変更することはできません。
これも機能します(最初の行がで始まる場合A.)
:v/^A/-1j!