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

viで1行コピーするのは

でコピーして

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

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

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

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

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

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

(aというマーク)

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

(bというマーク)

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

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

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

を押すだけです。

【Linux】viで複数行を一括削除

viではブックマーク機能(mコマンド)を使って複数行を一括削除できます。

まず、削除したい最初の行と最後の行にマークをつけます。
マークをつけるのはmを押した後、任意のアルファベットですから、
たとえば最初の行で

と打ち、最後の行で

と打ちます。

次にコロンを打ってコマンドモードにして、

と打ちます。
「’最初のマーク,’最後のマークd」ですからわかりやすいですね。
これでaというマークを付けた行から
bというマークを付けた行までが一括削除されます。