「vimで行を複製する方法」の版間の差分

提供: neovim/vim入門
移動: 案内検索
 
行16: 行16:
 
* yy
 
* yy
 
* Y
 
* Y
 +
 +
y は、 yank (ヤンク) の y です。
  
 
ペーストには、以下のいずれかを利用します。
 
ペーストには、以下のいずれかを利用します。
 
;p:カーソル行の次に新しい行を作成してペーストする
 
;p:カーソル行の次に新しい行を作成してペーストする
 
;P:カーソル行の前に新しい行を作成してペーストする
 
;P:カーソル行の前に新しい行を作成してペーストする
 +
 +
p は put の p です。
  
 
現在の行全体をコピーして、カーソル行の次の行にペーストする場合は
 
現在の行全体をコピーして、カーソル行の次の行にペーストする場合は

2017年6月6日 (火) 23:43時点における最新版

テキストの編集において、コピー&ペーストは重要です。vim で「行」を複製(デュプリケート)する方法を紹介します。その応用で、複数行も簡単にコピー&ペーストできます。

読み方

yank
やんく

概要

コピー&ペーストは、vimの用語では、ヤンク とペーストです。

行の複製は、プログラムを書いているときや文章を書いているときに便利です。 例えば、変数宣言の行をコピーして、ペーストすることで、タイプ量を減らせるからです。

yy と p を使いこなせることで、コピー&ペーストも高速にこなせるようになります。わざわざ、マウスで範囲選択する必要もありませんし、カーソルキーを使用して、時間をかけて範囲を選択する必要もありません。HOMEとENDなどのキーを併用して、移動する必要もありません。

行の複製

行全体をコピーする場合は、以下のいずれかを使用します。

  • yy
  • Y

y は、 yank (ヤンク) の y です。

ペーストには、以下のいずれかを利用します。

p
カーソル行の次に新しい行を作成してペーストする
P
カーソル行の前に新しい行を作成してペーストする

p は put の p です。

現在の行全体をコピーして、カーソル行の次の行にペーストする場合は

yyp

Yp

になります。

複数行の複製

yy では、カレント行しかコピーできません。 復数行をコピーする場合には、 yy の前に行数を指定します。 たとえば、3行をコピーしたいのであれば、

3yy

となります。

そのあとで、ペーストしたい行まで行って、 p を使用します。

ビジュアルモードで複数行の複製

行単位のビジュアルモードを使用することで、ビジュアルモードで、範囲を選択することができます。何行コピーしたいかわからないときなどに、視覚的に選択できて非常に便利です。

  1. Shift+v で行単位のビジュアルモードに入り、範囲を指定する
  2. 範囲指定が終わったら、 y でコピーします。
  3. ペーストしたい位置に移動して p で貼り付けます。

カット&ペースト

このドキュメントは、コピー&ペースト(複製)がメインだったのですが、カットも参考程度に書いておきます。 yyp だとコピー&ペーストになりますが、行単位の削除の dd と p を組み合わせることで、カット&ペーストができます。

ddp

ddp だとカレントの行を次の行と入れ替える結果になります。

まとめ

  • vim では、コピーをヤンクといいます
  • yyp (後にペースト) や yyP (前にペースト) で簡単にコピー&ペーストができます
  • 複数行コピーして貼り付ける場合は、 3yy (3行コピー) して、 p で貼り付けます。
  • ビジュアルモード(Shift+v)で行選択し、 y でコピーして、 p で貼り付けられます。

関連項目