next up previous contents
Next: 15.11 文字列を捜すには Up: 15. vi 入門 Previous: 15.9 コマンドの取り消しと繰り返し

15.10 便利な上書き訂正

綴りのミスなどで、1文字だけ訂正したいというケースがしばしばあります。 たった1文字のために挿入モードとコマンドモードを行ったり来たりするのは、 めんどうです。その時にはrコマンドが便利です。訂正したい文字にカーソルを 移動させ、そこで、rに続けて正しい文字を入力します。たどえば、dug  をdog にしたいときには、uにカーソルを合わせ、ro と入力すれば いいわけです。

直したいのが2文字以上の時には、Rを利用してください。訂正したい箇所の 先頭にカーソルを合わせ、Rを押します。すると挿入モードとなり、 古いテキストの上に上書きで訂正が行えます。間違いの文字をxなどで 消しておく必要はありません。(Rはrのように自動的にコマンドモード には戻りませんから、訂正が終わったら ESCキーを押します。)

Rコマンドは、それほど使われる頻度は高くありません。訂正前と後で文字数が 同じとは限らないからでしょう。むしろ次に述べるcコマンドやsコマンドの方 がよく用いられます。

cは単独のコマンドではなく、ccまたは移動コマンドとの組合せとして使います。そのルールは、dやyと全く同じです。

ccは1行をそっくり消し、その先頭から入力する状態になります。 3ccなどのように指定すれば、3行が削除の対象となります。 挿入モードに移ってから入力するデータの長さは、特に制限はありません。 1行を消して5行入力しても良いし、逆に3行が2行になってもかまいません。

cwは単語の訂正です。たとえば dog を apple に変えたいとしたら、 dogの先頭にカーソルを合わせ、cwを実行します。すると、挿入モードに なるので、正しい単語apple を入力します。 ESCを押してコマンドモードに 戻ると、字数に合わせて行の残りの部分の位置も自動的に調整されます。なお、 cwの実行中に、画面に$のマークが表示されますが、これは訂正される部分の 末尾を表しています。

sコマンドは、rと同じように綴りの訂正で、1文字を複数文字(たいていは 2文字)に置き換えることができます。カーソルのあった位置の文字は削除 されます。書き換えが終了したら ESCでコマンドモードに戻ります。



Noriyo Kanayama