私はVIMでより複雑な検索と置換機能を実行する方法を学び、次のようなユースケースに出くわしました。
:%s/$/|/g
これはおそらくすべての行の終わりを見つけて、それを垂直パイプに置き換えます。ただし、これを最初に学習したときは、期待される結果を得るには、置換文字列に行末文字を追加する必要があると思いました。すなわち、
:%s/$/|$/g
なぜそれなしで動作し、それでも改行を保持するのですか?行の終了文字を文字列に置き換えて、その過程で削除するべきではありませんか?
行頭文字で同じことを尋ねることができます^
。