このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:vi エディタの操作:カット・コピー・ペースト

vi エディタの操作:カット・コピー・ペースト
テキスト編集において、文章の切り取りやコピー、貼り付けといった操作は基本的で重要な機能です。vi エディタでも、他の一般的なエディタと同様にこれらの操作を行うことができます。しかし、vi ではこれらの操作に対する呼び方やコマンドが独特であり、初めて使用する方には少し戸惑うかもしれません。ここでは、vi におけるカット(切り取り)、コピー、ペースト(貼り付け)の操作方法について詳しく解説します。

vi における用語の違い
vi では、一般的なエディタでの名称とは異なる用語が使用されています。以下の表にviでの呼び方をまとめます。
一般的なエディタでの名称 | viでの名称 |
---|---|
カット(切り取り) | デリート(delete) |
コピー | ヤンク(yank) |
ペースト(貼り付け) | プット(put) |
- デリート:選択したテキストを削除し、バッファに保存します。
- ヤンク:選択したテキストをコピーし、バッファに保存します。
- プット:バッファに保存されたテキストを貼り付けます。
練習用ファイルの準備
実際に操作を練習するために、システムの/etc/crontab
ファイルをカレントディレクトリにコピーし、vi で開きます。
user01@ubuntu:~$ cp /etc/crontab .
user01@ubuntu:~$ ls
crontab work テンプレート ドキュメント ピクチャ 公開
snap ダウンロード デスクトップ ビデオ ミュージック
user01@ubuntu:~$ vi crontab
デリート(カット)
vi でテキストを削除(カット)するには、x
キーまたはd
コマンドを使用します。x
キーはカーソル位置の文字を1文字削除します。一方、d
コマンドは削除する範囲を指定するために、他のカーソル移動コマンドと組み合わせて使用します。
d
コマンドの使い方
d
コマンドの後にカーソル移動コマンドを指定することで、削除する範囲を決定します。以下に主な組み合わせを示します。
コマンド | 内容 |
---|---|
d$ | カーソル位置から行末までを削除 |
d0 | カーソル位置から行頭までを削除 |
x または dl | カーソル位置の文字を1文字削除 |
dw | カーソル位置から次の単語までを削除 |
dgg | カーソル位置からファイルの先頭までを削除 |
dG | カーソル位置からファイルの末尾までを削除 |
d
コマンドの使い方プット(ペースト)
削除(デリート)やコピー(ヤンク)したテキストを貼り付けるには、p
コマンドを使用します。p
コマンドは、バッファに保存されたテキストをカーソルの次の位置に貼り付けます。
実践例:行末までをデリートして貼り付け
- カーソルを削除したい位置に移動します。
d$
と入力します。- カーソル位置から行末までのテキストが削除され、バッファに保存されます。
- 貼り付けたい場所にカーソルを移動して、pを入力して貼り付け(プット)します。

ヤンク(コピー)
テキストをコピーするには、y
コマンドを使用します。y
コマンドもd
コマンドと同様に、カーソル移動コマンドと組み合わせて使用します。
y
コマンドの使い方
コマンド | 内容 |
---|---|
y$ | カーソル位置から行末までをコピー |
y0 | カーソル位置から行頭までをコピー |
yw | カーソル位置から次の単語までをコピー |
ygg | カーソル位置からファイルの先頭までをコピー |
yG | カーソル位置からファイルの末尾までをコピー |
y
コマンドの使い方実践例:行末までをヤンク
- コピーしたい位置にカーソルを移動します。
y$
と入力します。- カーソル位置から行末までのテキストがコピーされ、バッファに保存されます。
- コピーしたテキストは、
p
コマンドで貼り付けることができます。

現在の行の操作
特定の行全体を操作したい場合には、以下のコマンドが便利です。
コマンド | 内容 |
---|---|
yy または Y | 現在の行をヤンク(コピー) |
dd | 現在の行をデリート(削除) |
dd
:カーソル行全体を削除し、バッファに保存します。yy
:カーソル行全体をコピーし、バッファに保存します。
例:行の削除
- 削除したい行にカーソルを置きます。
dd
と入力します。

例:行のコピーと貼り付け
- コピーしたい行にカーソルを置きます。
yy
と入力します。- 貼り付けたい位置にカーソルを移動します。
p
と入力して行を貼り付けます。

コマンドの組み合わせ
vi では、編集操作コマンドとカーソル移動コマンドを組み合わせることで、柔軟なテキスト操作が可能です。この組み合わせにより、特定の範囲を的確に指定して編集できます。
主な組み合わせ例
- 削除(デリート)
d
+ 移動コマンド(例:dw
、d$
、dG
) - コピー(ヤンク)
y
+ 移動コマンド(例:yw
、y0
、yG
)
ファイルの保存とviの終了、練習ファイルの削除
これまでの練習で、crontab
ファイルを編集しました。ここでは、そのファイルを保存してvi を終了し、練習用に作成したファイルを削除する手順を解説します。
viでファイルを保存して終了する
1.コマンドモードに移行する
まず、Esc
キーを押してコマンドモードに戻ります。挿入モードでテキストを編集していた場合、Esc
キーを押すことでコマンドを入力できる状態になります。
2.ファイルを保存してviを終了する
コマンドモードで以下のコマンドを入力し、Enterキーを押します。
:wq!
:
:コマンドラインモードに入るw
:ファイルを保存する(write)q
:viを終了する(quit)!
:強制的に実行する(上書き保存などの確認を無視)
練習で作成したファイルを削除する
vi を終了してターミナルに戻ったら、練習用にコピーしたcrontab
ファイルを削除します。
user01@ubuntu:~$ rm crontab
削除の確認
ls
コマンドでファイルが削除されたことを確認します。
user01@ubuntu:~$ ls
snap ダウンロード デスクトップ ビデオ ミュージック
work テンプレート ドキュメント ピクチャ 公開
まとめ
- デリート(カット):
d
コマンドを使用し、削除する範囲をカーソル移動コマンドで指定します。 - ヤンク(コピー):
y
コマンドを使用し、コピーする範囲をカーソル移動コマンドで指定します。 - プット(ペースト):
p
コマンドでバッファの内容を貼り付けます。 - 行全体の操作:
dd
で行を削除、yy
で行をコピーできます。
vi の編集機能は強力で柔軟性が高く、これらのコマンドを組み合わせることで効率的なテキスト編集が可能になります。実際に操作を練習して、vi の使い方に慣れていきましょう。