← Vim道場
コピーして貼り付ける
Vimではコピーを「ヤンク」と呼び、y のキーで行います。範囲の決め方は d や c とまったく同じです。貼り付けは p で、行単位でコピーしたか文字単位でコピーしたかによって貼り付く場所が変わります。
レッスン 12 / 17
行単位か文字単位かで貼り付き方が変わる
yy や dd のように行を単位にコピーしたものは、p で「カーソル行の下に新しい行として」入ります。yw や x のように文字を単位にコピーしたものは、「カーソルの1つ後ろに文字として」入ります。
同じ p なのに結果が違うので最初は戸惑いますが、コピーした側が単位を覚えていると考えると筋が通ります。行として取ったものは行として、文字として取ったものは文字として戻ります。
削除もコピーになっている
dd や x で消した内容も同じ置き場(レジスタ)に入るので、p で貼り付けられます。つまりVimには「切り取り専用のキー」がなく、削除がそのまま切り取りを兼ねています。
この仕様の困るところは、何かをコピーしたあとに別の場所を dd で消すと、コピーしていた内容が上書きされてしまう点です。これを避けるには番号付きレジスタや名前付きレジスタを使います。
このレッスンで扱うキー
| キー | 動き |
|---|---|
| yy | 1行コピー |
| yw | 単語1つ分をコピー |
| p | カーソルの後ろに貼り付け |
| P | カーソルの前に貼り付け |