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