【Linux】viで複数行をコピーする

viで1行コピーするのは

でコピーして

で貼り付けるだけなので簡単です。

複数行のコピーも、数行程度なら行数が分かるので

(カーソル位置から下に5行分をコピー)
という感じで簡単です。

では行数が簡単に数えられないくらいの行をコピーするには?

そんなときはブックマーク機能(mコマンド)を使ってコピーしましょう。

まずコピーしたい最初の行にカーソルを持っていき、任意のアルファベットでマークします。

(aというマーク)

次にコピーしたい最後の行にカーソルを持っていき、別のアルファベットでマークします。

(bというマーク)

あとは、コマンドモードで以下のコマンドを打ちます。

最初と最後のマークをカンマ区切りで呼び出してy(ヤンク)
なので、viのコマンドとしては分かりやすい方かと思います。

貼付けは1行のときと同じように、貼り付けたい場所で

を押すだけです。