このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
新Linuxコマンド演習21

新Linuxコマンド演習21 概要
「新Linuxコマンド演習21」では、viエディタの編集操作 に焦点を当て、Linux上で効率的にテキストを編集する技術を学びます。
vi エディタはシステム設定ファイルやスクリプト編集など、Linux管理において最も重要なツールの一つです。
この演習では、以下の内容を中心に練習します。
- 文字・行の削除(x, dd)
- コピーと貼り付け(yy, p)
- 取り消しと繰り返し(u, . )
これらのコマンドは、設定ファイル編集やスクリプト修正時に頻繁に使用するため、確実に習得しておく必要があります。

vi エディタの編集モードと操作概要
vi エディタはコマンドモードで操作を行います。以下の表に、主要な編集コマンドをまとめます。
| コマンド | 操作対象 | 説明 |
|---|---|---|
| x | 文字 | カーソル位置の1文字を削除 |
| dd | 行 | 現在の行を削除 |
| yy | 行 | 現在の行をコピー(ヤンク) |
| p | 行・文字列 | コピーまたは削除した内容を貼り付け |
| u | 直前の操作 | 直前の操作を取り消す(Undo) |
| Ctrl + r | 取り消し操作 | 取り消しをやり直す(Redo) |
| . | 直前のコマンド | 直前の編集操作を繰り返す |
上記のコマンドは、コマンドモードで使用します。
挿入モードから戻るには Escキー を押します。
演習問題+模範解答例
演習01:文字単位の削除と貼り付け操作
問題
file1.txt を作成し、vi エディタで特定の文字を削除したあと、貼り付けを行ってください。
模範解答例
[suzuki@AlmaLinux ~]$ date > file1.txt
[suzuki@AlmaLinux ~]$ date >> file1.txt
[suzuki@AlmaLinux ~]$ vi file1.txt操作手順
- 「 i 」キーで挿入モードに切り替える。
- 任意の位置にカーソルを合わせ、「Esc」でコマンドモードへ。
- カーソル上の文字を削除するには:
x - その文字を貼り付けるには:
p - 操作後、「:wq」で保存して終了。
出力例(編集前 → 編集後)
2024年 1月 20日 土曜日 22:12:28 JST ←カーソルを削除したい文字の上に移動
2024年 1月 20日 土曜日 22:14:02 JST
2024年 1月 20日 曜日 22:12:28 JST ←x を入力して文字を削除
2024年 1月 20日 土曜日 22:14:02 JST
2024年 1月 20日 曜日 22:12:28 JST
2024年 1月 20日 土曜日 22:14:02 JST ←コピー先にカーソルを移動
2024年 1月 20日 曜日 22:12:28 JST
2024年 1月 20日 土土曜日 22:14:02 JST ←p を入力して削除した文字を貼り付け解説
xは1文字削除。複数文字削除したい場合は数字を指定(例:3x)。pは直前に削除またはコピーした内容をカーソル位置の後に貼り付けます。
演習02:行のコピーと貼り付け操作
問題
file2.txtを作成し、特定の行をコピーして下に貼り付けてください。
模範解答例
[suzuki@AlmaLinux ~]$ date > file2.txt
[suzuki@AlmaLinux ~]$ date >> file2.txt
[suzuki@AlmaLinux ~]$ vi file2.txt操作手順
- コピーしたい行の先頭にカーソルを移動。
- 行をコピー(ヤンク)するには:
yy - 貼り付けたい場所にカーソルを移動し、貼り付ける:
p - 編集完了後、「:wq」で保存して終了。
出力例(編集前 → 編集後)
2024年 1月 20日 土曜日 23:15:31 JST ←カーソルをコピーしたい行の先頭に移動
2024年 1月 20日 土曜日 23:15:36 JST
2024年 1月 20日 土曜日 23:15:31 JST ←yy を入力して行をコピー
2024年 1月 20日 土曜日 23:15:36 JST
2024年 1月 20日 土曜日 23:15:31 JST
2024年 1月 20日 土曜日 23:15:36 JST ←コピー先にカーソルを移動
2024年 1月 20日 土曜日 23:15:31 JST
2024年 1月 20日 土曜日 23:15:36 JST ←p を入力してコピーした行を貼り付け
2024年 1月 20日 土曜日 23:15:31 JST
2024年 1月 20日 土曜日 23:15:36 JST
2024年 1月 20日 土曜日 23:15:31 JST ←コピーした内容が貼り付けられます解説
yyは現在行をコピー。複数行コピーは数字指定(例:3yyで3行)。pはコピーした行をカーソルの下に貼り付け。
演習03:操作の繰り返しと取り消し
問題
file3.txt を作成し、「dd」「 . 」「u」コマンドを用いて操作の繰り返しと取り消しを行ってください。
模範解答例
[suzuki@AlmaLinux ~]$ date > file3.txt
[suzuki@AlmaLinux ~]$ date >> file3.txt
[suzuki@AlmaLinux ~]$ date >> file3.txt
[suzuki@AlmaLinux ~]$ date >> file3.txt
[suzuki@AlmaLinux ~]$ vi file3.txt操作手順
- 行を削除する:
dd - 同じ削除をもう一度実行:
. - 直前の削除を取り消す:
u - 編集完了後、「:wq」で保存して終了。
出力例(操作の流れ)
2024年 1月 21日 日曜日 13:01:00 JST
2024年 1月 21日 日曜日 13:01:14 JST
2024年 1月 21日 日曜日 13:01:15 JST ←dd を実行して1行削除します。
2024年 1月 21日 日曜日 13:01:16 JST
2024年 1月 21日 日曜日 13:01:00 JST
2024年 1月 21日 日曜日 13:01:14 JST
2024年 1月 21日 日曜日 13:01:15 JST ←「.」を実行して直前のコマンドを繰り返します。
2024年 1月 21日 日曜日 13:01:00 JST
2024年 1月 21日 日曜日 13:01:14 JST ←「u」を実行して直前の操作を取り消します。
2024年 1月 21日 日曜日 13:01:00 JST
2024年 1月 21日 日曜日 13:01:14 JST
2024年 1月 21日 日曜日 13:01:16 JST解説
.(ドット)は直前の編集操作を繰り返します。uは直前の操作を取り消します(複数回押すと連続取り消し)。- Redoしたい場合は
Ctrl + rを使用します。
演習終了時の作業:不要ファイルの削除
問題
演習で作成したファイルを削除してください。
模範解答例
[suzuki@AlmaLinux ~]$ rm file*.txt
[suzuki@AlmaLinux ~]$ ls
Desktop Downloads Pictures Templates
Documents Music Public Videosviエディタの編集コマンドまとめ
| 分類 | コマンド | 内容 |
|---|---|---|
| 文字削除 | x | カーソル位置の文字を削除 |
| 行削除 | dd | 現在行を削除 |
| コピー | yy | 現在行をコピー |
| 貼り付け | p | コピーまたは削除した内容を貼り付け |
| 取り消し | u | 操作を取り消す |
| やり直し | Ctrl + r | 取り消した操作をやり直す |
| 繰り返し | . | 直前の編集操作を再実行 |
補足
vi の編集機能は、WindowsのCtrl + Z や Ctrl+C に相当する基本機能をキーボード操作で行う仕組みです。
慣れると非常に高速にテキスト編集が可能になります。
まとめ
「新Linuxコマンド演習21」では、vi エディタでの基本的な編集操作を習得しました。
- 文字・行の削除(x, dd)
- コピーと貼り付け(yy, p)
- 操作の取り消しと繰り返し(u, . )
これらの操作を覚えることで、Linux上でのテキスト編集が格段に効率化されます。
今後の演習では、検索や置換など、さらに高度なviエディタ機能にも挑戦していきます。
