操作に失敗はつきものです。間違いを取り消すため、uが用意されています。
取り消されるのは、直前に行った操作であることは注意が必要です。また、 移動のコマンドや、yyなどは、uの対象にはなりません。
挿入モードに移ってからなされた一連の入力も、uコマンドの対象となります。 たとえば、挿入モードで10行の入力を行い、コマンドモードに戻ってすぐu を実行すれば、その10行は消えてしまいます。(復活させる方法は?)
テキストの修正作業は、たいてい行単位です。特にプログラムを作成する場合に はしばしばですが、1つの行を苦労して変更し、結局元の表現が正しかったこと に気付くということもあります。その時には、Uコマンドが役立ちます。
ただし、変更の対象となるのは、その行に移動してきてからの操作のみです。
テキストの変更の別の操作を行ってしまい、その後でミスに気が付いたとしたら、 どうすればいいでしょう? dコマンドで削除されたデータは、バッファに 保存されますが、幸いなことにバッファは1つだけではないのです。通常の pコマンドの対象となるのは、最近のd(またはy)コマンドですが、 過去の削除の記録も番号を付きで保存されています。(バッファは全部で9個) 番号付きバッファの内容を呼び出すには次のようにします。
これで、3番目に新しい削除の記録を復活させることができます。 バッファの内容は目に見えないので、番号を間違える可能性もありますが、 その時はuで取り消してください。
逆にテキストの変更を繰り返すコマンドが .(ピリオド)です。繰り返しの対象 となるのは、4ddやpコマンド、あるいは挿入モードになってから付け加えられた 内容の全体です。
なお、番号付きバッファを呼び出す命令は、.で繰り返すと自動的に番号をさか のぼってくれます。 ”1pu.u. のようにすれば目指すバッファにたどり 着けるはずです。viは、なんと親切なのでしょう!