vimで行を複製する方法
テキストの編集において、コピー&ペーストは重要です。vim で「行」を複製(デュプリケート)する方法を紹介します。その応用で、複数行も簡単にコピー&ペーストできます。
読み方
- yank
- やんく
概要
コピー&ペーストは、vimの用語では、ヤンク とペーストです。
行の複製は、プログラムを書いているときや文章を書いているときに便利です。 例えば、変数宣言の行をコピーして、ペーストすることで、タイプ量を減らせるからです。
yy と p を使いこなせることで、コピー&ペーストも高速にこなせるようになります。わざわざ、マウスで範囲選択する必要もありませんし、カーソルキーを使用して、時間をかけて範囲を選択する必要もありません。HOMEとENDなどのキーを併用して、移動する必要もありません。
行の複製
行全体をコピーする場合は、以下のいずれかを使用します。
- yy
- Y
ペーストには、以下のいずれかを利用します。
- p
- カーソル行の次に新しい行を作成してペーストする
- P
- カーソル行の前に新しい行を作成してペーストする
現在の行全体をコピーして、カーソル行の次の行にペーストする場合は
yyp
か
Yp
になります。
複数行の複製
yy では、カレント行しかコピーできません。 復数行をコピーする場合には、 yy の前に行数を指定します。 たとえば、3行をコピーしたいのであれば、
3yy
となります。
そのあとで、ペーストしたい行まで行って、 p を使用します。
ビジュアルモードで複数行の複製
行単位のビジュアルモードを使用することで、ビジュアルモードで、範囲を選択することができます。何行コピーしたいかわからないときなどに、視覚的に選択できて非常に便利です。
- Shift+v で行単位のビジュアルモードに入り、範囲を指定する
- 範囲指定が終わったら、 y でコピーします。
- ペーストしたい位置に移動して p で貼り付けます。
カット&ペースト
このドキュメントは、コピー&ペースト(複製)がメインだったのですが、カットも参考程度に書いておきます。 yyp だとコピー&ペーストになりますが、行単位の削除の dd と p を組み合わせることで、カット&ペーストができます。
ddp
ddp だとカレントの行を次の行と入れ替える結果になります。
まとめ
- vim では、コピーをヤンクといいます
- yyp (後にペースト) や yyP (前にペースト) で簡単にコピー&ペーストができます
- 複数行コピーして貼り付ける場合は、 3yy (3行コピー) して、 p で貼り付けます。
- ビジュアルモード(Shift+v)で行選択し、 y でコピーして、 p で貼り付けられます。
関連項目
ツイート