Vim:copy/moveコマンドで複数行をコピー/移動する方法

スポンサーリンク

copyコマンドで複数行をコピーする方法

:copyコマンド(または短縮系の:tコマンド)を使うと、1行以上の行をある場所から別の場所にコピーすることができます。一方:moveコマンド(または短縮系の:mコマンド)では移動することができます。

例えば、以下のテキストに対して

a
b
c
d
e

2行目にカーソルを置いた状態で:4,5t.コマンドを実行すると

a
b
d
e
c
d
e

のようになります。コピーコマンドの書式は:[range]copy{address}のようになっているので、4~5行目を現在行(.は現在行を表す)にコピーするということになります。

その他の使用例としては以下のようなものがあり、:mコマンドを使うと移動になります。

コマンド結果
:5t.5行目を現在行の下にコピー
:t5現在行を5行目の下にコピー
:t.現在行をコピー(ノーマルモードのyypに相当)
:t$現在行をファイル末尾にコピー
:'<,'>t0ビジュアルな選択範囲をファイル先頭にコピー