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

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で良いわけです。

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