新Linux入門|viエディタを理解しよう!基本的な編集操作を学ぶ

Linuxで設定ファイルを編集したり、ログを確認したりする場面で欠かせないのが viエディタ です。
マウス操作ではなく、キーボードだけで高速に編集できる のがviの最大の魅力。
 ここでは、AlmaLinux 9.6 を使って、基本的な編集操作 ― 切り取り・コピー・貼り付け・取り消し ― をわかりやすく学んでいきましょう。

✏️ viエディタの編集は「コマンドモード」で行う

vi には「モード」という考え方があります。
 文字を入力するだけでなく、削除・コピー・貼り付けなどの編集もモードを切り替えて行います。

モード名内容切り替え方法
コマンドモード編集や保存などを行う基本モードEscキーで切り替え
挿入モード文字を入力できるモードi, a, o, A, O などを押す
末行モードコロン( : )で始まるコマンドを入力:(コロン)を入力

💬 操作の流れ

  1. viを起動すると「コマンドモード」になります。
  2. i で「挿入モード」に切り替えて文字を入力します。
  3. 編集後、Esc でコマンドモードに戻り、保存や終了を行います。

✂️ viエディタの主な編集コマンド一覧

コマンドモードで使用する、代表的な編集操作を覚えましょう。

コマンド説明
xカーソル位置の1文字を削除
dd現在行を削除(切り取り)
yy現在行をコピー
pコピーまたは削除した内容を貼り付け
u直前の操作を取り消す(Undo)
Ctrl + rUndoをやり直す(Redo)
.直前のコマンドを繰り返す

💡 ポイント
viでは、削除と切り取りが同じ動作です。削除した内容は一時的に保存され、pで貼り付けられます。

📋 例:文字の削除と貼り付け

以下の例では、xp コマンドを使って 文字を削除して貼り付ける 操作を行います。

📘 操作手順

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 を入力して削除した文字を貼り付け

「:wq」と入力して保存して終了します。

📑 例:行のコピーと貼り付け

次は、yy(コピー)と p(貼り付け)を使って、行単位で複製してみましょう。

📘 操作手順

以下のコマンドで 'file2.txt' を作成しておきます。

$ date > file2.txt
$ date >> file2.txt
$ vi file2.txt

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 ←コピーした内容が貼り付けられます

💡 豆知識
3yy と入力すると、3行分を一度にコピーできます。
同様に、5dd なら 5行まとめて削除 できます。

🔁 コマンドの繰り返しと取り消し

viでは、繰り返し操作や取り消しも簡単にできます。

コマンド説明
.直前のコマンドを繰り返す
u直前の操作を取り消す(Undo)
Ctrl + rUndoをやり直す(Redo)

📘 使用例

  1. dd で1行削除
  2. 次に . を入力 → さらに次の行も削除(同じ操作の繰り返し)
  3. u を押すと直前の削除を取り消す
  4. Ctrl + r で再び削除状態に戻す

💡 補足
Undoは何度も実行できます。作業を誤って壊しても、uで落ち着いて戻しましょう。

✅ まとめ

viエディタは、シンプルながらも非常に強力なテキスト編集ツールです。
基本的な編集操作をマスターすれば、作業スピードが一気に上がります。

操作カテゴリコマンド説明
削除x, dd文字・行を削除(切り取りとして利用可能)
コピーyy行をコピー
貼り付けpコピー/削除した内容を貼り付け
取り消しu直前の操作を取り消す
繰り返し.直前の操作を再実行
やり直しCtrl + rUndoの取り消しを再実行

💬 最後に
最初は覚えることが多いと感じるかもしれませんが、
dd(削除)→ yy(コピー)→ p(貼り付け)→ u(取り消し)
この4つを覚えるだけで、viの世界が一気に楽になります。

viをマスターする第一歩として、まずはこの「基本操作」をじっくり体に覚えさせましょう。