5 行のテキストがあるとします。vim に各行を処理させるコマンドを入力すると、Vim はテキストを 1 行ずつ、1 行目、2 行目、... 最後の行と処理します。私が望むのは、Vim にテキストを逆の順序で処理させることです。最初に最後の行、次に 4 行目、最後に最初の行です。
なぜこれが必要なのですか?私は次のテキストを持っています
1234567890
abc
123
def
1234567890
123456789
3 文字を含む行から改行記号 (\n) を削除したい。処理後,次のテキストを取得します
1234567890
abc123def1234567890
123456789
それはケーキのようです、私は次のコマンドを使用します
:%s/\v(^\w{3})\n/\1/
しかし、私が得たのは
1234567890
abc123
def1234567890
1234567890
なんで?vim は最初に 2 行目から \n を削除し、次にこの行には abc123 というテキストが含まれていると思います。今は 3 文字ではないため、vim は 123 の後に \n を削除しません。したがって、vim は次の行の def を処理し、そこから \n を削除します。 、それは私が得た結果です。
vim が後ろから前に処理できる場合、これは発生せず、必要な結果を得ることができます。
ところで、私は他の方法で期待される結果を得ることができます.これが可能かどうか知りたいだけです.