VIM の Undo と Redo2021年01月15日 13時13分20秒

vim の u コマンドと vi の u コマンドは動作が違う。vim でレガシーモードで起動したときも vim の u 動作になるので vim が今だ苦手だ。

vim の u コマンドは、アンドゥ。過去の履歴を一つづつ戻していく。複数回の復帰が可能。それに引き替え、vi の u コマンドは直前一回のコマンドを戻す。二回押すと二回目は u の取り消しになるので、u を押していないのと同じ結果になる。

エディタを使っていて、上下に移動した後に、編集直後の場所に戻りたいことが多々ある。コードを書いていて別の関数の呼び出し引数を調べたい時などだ。vi を使っている時に、前の編集場所に戻るのに、u を二回押して、先の変更を戻すと共にカーソルを移動。そして、u をもう一回押して、アンドゥ前に戻し、「カーソルを最終変更した箇所に復帰」を行っていた。

vim のアンドゥは u を二回押すと二つ分戻るので、慌てる事になる。

これを戻せるリドゥは、Ctrl-r で行う。また、vim の u で復帰に失敗したのでメモのとり直し。