その u、昔は一度しか押せなかった

取り消しは列ではなく、枝分かれする
取り消しは列ではなく、枝分かれする

3dd で消した3行は、u 一回でまとめて戻ってくる。行きすぎたら Ctrl-r でやり直せる。 この往復、当たり前だと思っていませんか。

最初の vi では、u は一段だけでした。もう一度押すと、戻したはずのものがまた消える。取り消しの取り消しです。その子孫のVimでは、何段でも戻れます。 しかもVimの取り消しは一本道ではありません。u で戻ってから別の編集をすると、たいていのエディタは戻した先の枝を捨てます。Vimは捨てない。g- で通らなかったほうの道へ行けますし、:earlier 10m と打てば「10分前のファイル」に戻れます。

多くのエディタの Ctrl+Z は、来た道を戻るだけ。Vimは、通らなかった道も覚えています。