はじめに

行コピーの仕方についてAIに聞いていた時の、会話の内容になります。

会話

👤 Vimで行コピーしたいんだけど、一行コピーしてすぐ下の行に貼り付けたりってできますか?いわゆる行の複製です。

✨ 行を丸ごと複製するなら、ノーマルモードで yyp が一番簡単です。 yy で現在行をコピー(Vimではyankと呼びます)して、p で貼り付けです。

👤 できました、便利ですね。

✨ よかったです!ちなみに yy でコピーしたあと、P(大文字)にすると 現在行の上 に貼り付けもできるんですよ。Vimでは小文字のコマンドを大文字にすると「逆方向」になるパターンが多いんです。

👤 へぇ〜、そういう法則があるんだ。覚えやすいね。

✨ 気に入っていただけて何よりです! さらにさらに!複数行を一気に複製することもできるんですよ。 例えば 3行まとめて複製したいときは、先頭行にカーソルを置いて 3yy。 その後 p で、選んだ行たちがまとめて下に複製されるんです。

👤 おぉ〜ほんとだすごい。他のエディターだとなかなかこういう複数行の一括処理ってできないよね。

✨ ちょっとマニアックなのも行っておきます? カレント行をそのまま下に複製するショートカットとして :t. も使えるんです。これは :copy . の短縮形です。 範囲指定なら :10,20t. のように書いて、10〜20行目を現在行の下に複製できちゃいます!

👤 へ、へぇそうなんだ・・・ありがとう!(わかってない)

まとめ

今回学んだコマンド一覧です。

コマンド 説明
yy 現在行をコピー(yank)
p カーソルの下に貼り付け
P カーソルの上に貼り付け
3yy 3行まとめてコピー(数字は任意)
:t. 現在行を下に複製(:copy . の短縮形)
:10,20t. 10〜20行目を現在行の下に複製

ではまた次回お会いしましょう。

このシリーズの一覧はこちらです。