next up previous contents
Next: ファイルへの書き込み、ファイルからの読み込み Up: viを使う Previous: カーソルの移動

文字列の消去と変更

文字を消したいときもただBSキーを押すだけでは消えません。BSキーはカーソ ルを一文字前に移動するだけです。コマンドモードで

        カーソルから右へ1文字消去      x
        カーソルから左へ1文字消去      X
        次の語の頭までを消去            dw
        カーソルのある語の末まで消去    de
        カーソルから行末まで消去        D
        カーソルのある行一行消去        dd
        カーソルからマークaの行の先頭まで消去   d'a
        カーソルからマークaまで消去             d`a
        コマンドの取り消し              u
        2行を1行に連結                J

消去された文字列は消滅するのではなく削除バッファにコピーされています。 pコマンドで張り付けることができます。ペーストするともいいます。

        削除バッファの内容をカーソルの後ろに張り付ける。        p
        削除バッファの内容をカーソルの前に張り付ける。          P

ということは、文字列を消去せずに削除バッファにコピーしたいこともあるで しょう。ヤンクというそうです。

        一語削除バッファにコピー        yw
        行末まで削除バッファにコピー    y$
        一行削除バッファにコピー        yy
        マークa行先頭まで削除バッファにコピー   y'a
        マークaまで削除バッファにコピー         y`a

文字列を変更したいとき、消去して入力するのが手っ取り早いかもしれません。 すでにaとiは出てきましたが、入力モードに入るコマンドをまとめると、

        カーソルの後に入力              a
        カーソルの前に入力              i
        行の末尾に入力          A
        行の先頭に入力          I
        1行カーソルの下に開いて入力    o
        1行カーソルの上に開いて入力    O
        1文字を変更            s
        1語を変更                      cw
        行末までを変更          c$      もしくはC
        行先頭までを変更                c0
        1行を変更                      cc      もしくはS

\begin{verbatim}

入力モードに入らずに1文字変更するのはrとタイプしたあと置き換えたい文
字を入力します。

\paragraph{文字列の検索と置換}

文字列の検索は/コマンドでおこないます。/をタイプすると最下行に/が表示
されます。それに続いてタイプしたパターンがRETURNを押すまで検索文字列と
なります。パターンには正規表現が使えます。逆方向に検索したいときは/の
替わりに?を使います。

検索を繰り返すときは、

\begin{verbatim}

        同じ方向に次を探す              n
        逆の方向に次を探す。            N
        下の方向に次を探す。            /RETURN
        上の方向に次を探す。            ?RETURN

同じ行の中の1文字の検索は、探す文字をxとすると、

        その行の次のxを探す。           fx
        その行の前のxを探す。           Fx
        次のxの前の文字を探す。         tx
        次のxの後の文字を探す。         Tx
        同じ方向に次を探す。            ;
        逆方向に次を探す。              ,

現在行のあるパターンを置換をするにはexコマンドを使って

        現在行の最初の一致パターンの置換        :s/old/new/RETURN
        現在行のすべての一致パターンの置換      :s/old/new/gRETURN
        ファイル内のすべての一致パターンの置換  :%s/old/new/gRETURN

ここで したいときは他の文字を/の替わりに使えます。



next up previous contents
Next: ファイルへの書き込み、ファイルからの読み込み Up: viを使う Previous: カーソルの移動



Kinya Hibino
Wed Apr 26 21:42:06 JST 1995