[目次] [前章] [次章]

6.カット(コピー)アンドペースト

一文字を削除する


一文字を削除するには、xを押します。
たったこれだけです。
2文字以上消すには、3xなど、消したい数を指定してください。

一単語を削除(コピー)する


一単語を削除するには、dwというコマンドを使います。
一単語をコピーするには、ywというコマンドを使います。
ただし、ここで言う一単語とは、,(カンマ)や括弧やスペースなども一単語とみなされてしまいます。
単純に、スペースを区切りとして単語とみなしたい場合は、
wをWに変えることで可能となります。
さらに、2単語以上を扱う場合は、2dw,3yWのようにすれば可能ですね。

一行を削除(コピー)する


一行を削除するには、ddというコマンドを使います。
これは、現在カーソルのある行を削除するものです。
2行以上の削除は、2dd等で対応できますね。
この場合、カーソルより下の行が順次消されて行きます。

一行をコピーするには、yyというコマンドを使います。
削除と似ていますね。
同じく、現在カーソルのある行をコピーするものです。
同様に、2yyという使い方も出来ます。

行頭、行末までを削除(コピー)する


行末まで削除するには、d$というコマンドを使います。
行頭まで削除するには、d0というコマンドを使います。
これは、2.カーソルの移動を見た人には分かりますよね。
つまり、0は行頭を$は行末を表しているので、こういうコマンドになります。

コピーはdをyに置き換えただけで、
行末までコピーするには、y$というコマンドを使います。
行頭までコピーするには、y0というコマンドを使います。

指定行を削除(コピー)する


指定行を削除するには、:(行番号)dというコマンドを使います。
例えば、:3dとすれば、3行目を削除することが出来ます。
さらに、指定行に範囲をつけて、:(開始行),(終了行)dというコマンドで、
複数行を削除することも出来ます。
例えば、先頭から4行目までを削除するには、:1,4dで、
5行目からファイルの最後までを削除するには、:5,$dで出来ます。

コピーは、:(指定行)t(貼りつけ行)という感じで行います。
例えば、1~3行目をコピーして、最終行に貼りつけたい時は、
:1,3t$というコマンドで出来るでしょう。

貼りつけする


コピーや削除したものは、バッファ(Windowsでいう、クリップボードみたいなもの)に蓄えられているので、
これを貼りつけすることが出来ます。
コマンドは、pです。
このコマンドを実行すると、カーソル位置の後ろにバッファの内容が挿入されます。

2回以上前に切り取り(コピー)したものを貼りつける


Viのバッファは9個まで用意されていて、これを使うことで9回分削除したりコピーしたものを
貼りつけすることが出来ます。
最初にコピーされたものは、1番のバッファに入ります。
次に削除やコピーが行われると、1番が2番に、今のものが1番に入ります。
つまり、古いものほど大きい番号に格納されて行きます。

貼りつけ方は、"(バッファ番号)pというコマンドで行います。
例えば、2番目のバッファを貼りつけるには、"2pという
コマンドを使用します。
つまり、pというのは"1pと同じことですね。

前後の文字を入れ替える


これは、特に新しい事項では無いのですが、
かなり便利なので、紹介しておきます。
例えば、あわててタイピングして、
fnot
(font)と打ってしまったとしましょう。
ここで、nのところにカーソル(fnot)を持っていき、
xpと連続してコマンドを打ち込むと、
font
となります。(font)

一応原理としては、xで一文字カットして、
pでペーストするだけのことですが、
うまい具合に入れ替わってくれますね。
使用頻度が結構高い技なので、使いこなしてみてください。

名前付きバッファ


複数ファイル間で共通して使うことの出来るバッファです。
使えるバッファの数は、'a'~'z'までの26個で、
編集コマンドの前に、ダブルクォーテーション(")を伴って指定することで、
バッファを使用することが出来ます。
"(alphabet)(編集コマンド)

例えば、aという名前のバッファに、カレント行をコピーするには、
"ayyというコマンドで出来ますし、
逆に、aという名前のバッファの内容を貼り付けるには、
"apで良いわけです。

[目次] [前章] [次章]