【Bash講座 第6回】脱・初心者!最強エディタ「Vi/Vim」の操作を身体で覚えろ

bash講座

【Bash講座 第6回】「終了できない」恐怖からの脱出!Vimを使いこなせ

こんにちは!「リナックス先生」です。
前回は、cattail を使ってファイルの中身を「見る」方法を学びました。
コウ君、その後サーバー操作は順調?

コウ君

先生、助けてください!!
ネットの記事を見て設定ファイルを直そうとしたら、vi ってコマンドを使うって書いてあって…。
実行したら画面が変わったんですけど、文字も打てないし、終了もできないし、マウスも効かないんです!
この黒い画面、どうやって閉じればいいんですか!?(泣)

リナックス先生

出たわね、「Vimの牢獄」
全世界の初心者が一度は通る道よ。
落ち着いて。まずは Esc キーを連打して、その後に :q! と入力して Enter を押しなさい。
それで脱出できるわ。

コウ君

はぁ、はぁ…。助かりました…。
なんですかこの極悪なソフトは! 普通のメモ帳みたいに使えないんですか?

第6回となる今回は、Linux標準にして最強のテキストエディタ「Vi / Vim(ヴィム)」を特集します。
操作に強烈な癖がありますが、一度慣れてしまうと「これ以外では文字を書きたくない」と思わせるほどの魔力を持ったツールです。

本講座のカリキュラム(全12回)

AlmaLinux 9 (RHEL 9互換) 環境を前提に、基礎から応用までステップバイステップで進めます。

  1. Bash入門編:シェルとカーネルの関係、CUIの哲学、環境構築
  2. ファイル操作の極意:絶対パス・相対パスと「ワイルドカード」の魔術
  3. 権限(パーミッション)とユーザー:chmod, chown, sudoの仕組みを完全理解
  4. 入出力リダイレクトとパイプ:Linuxの真骨頂!コマンド同士を連携させる技術
  5. テキスト処理の基本:cat, head, tail, less…ファイルの中身を覗く道具たち
  6. 【今回】最強のエディタ「Vi/Vim」入門:サーバー内でテキストを編集する必須スキル
  7. シェルスクリプトの第一歩:ファイルにまとめて自動実行!変数と引数の基礎
  8. 条件分岐(if文):サーバーの状態を見て「判断」できるスクリプトを作る
  9. 繰り返し処理(for/while文):面倒な単純作業を1秒で終わらせるループ処理
  10. テキスト処理の応用:grep, sed, awk…ログ解析の達人になるための三種の神器
  11. 実践・自動化スクリプト:バックアップと監視を自動化し、Cronで定期実行する
  12. 総仕上げ:自作スクリプトの集大成と、エンジニアとしての歩き方

1. なぜ「Vim」を使わなきゃいけないの?

Windowsの「メモ帳」や、VSCodeのような便利なエディタがあるのに、なぜわざわざ操作が難しいVimを使う必要があるのでしょうか?
理由は大きく3つあります。

理由1:すべてのLinuxに「最初から入っている」

トラブル対応で緊急のサーバーに入った時、そこにVSCodeはありません。
しかし、Vi (Vim) は必ずあります。
どんな環境でも確実に使える唯一の武器、それがVimです。

理由2:マウス不要で高速操作が可能

Vimは「ホームポジションから手を離さない」ことを前提に設計されています。
慣れれば、マウスに手を伸ばしてカーソルを移動させる数倍の速さでテキスト編集が可能です。

理由3:リモート接続でもサクサク動く

CUI(文字だけ)で動作するため、回線が遅い海外のサーバーや、スペックの低いIoT機器でも軽快に動作します。

2. 最大の壁:「モード」という概念を理解せよ

Vimが初心者殺しと呼ばれる最大の理由。
それは「文字を打つためのモード」と「操作するためのモード」が分かれていることです。

リナックス先生

コウ君がパニックになったのは、「ノーマルモード」のまま文字を打とうとしたからよ。
Vimを起動した直後は、キーボードは「文字入力」ではなく「コマンド入力(移動や削除)」のために使われるの。
まずはこの図式を頭に叩き込んで。

モード名 役割 入り方 抜け方
ノーマルモード
(Normal Mode)
【基本】 カーソル移動、削除、コピーなどを行う。起動時はここ。 (起動直後)
または Esc
i, :, v など
インサートモード
(Insert Mode)
【入力】 普通のエディタのように文字を打つ。 i, a, o Esc
コマンドラインモード
(Command-line Mode)
【命令】 保存、終了、検索、置換などを行う。 : (コロン) Enter または Esc

★鉄則:迷ったらとにかく Esc キーを押せ!
Esc を押せば、必ず基本の「ノーマルモード」に戻れます。

3. 【サバイバルガイド】起動・編集・保存・終了

まずは最低限、「ファイルを開いて、ちょっと修正して、保存して閉じる」手順をマスターしましょう。
これさえできれば、サーバー管理で困ることはありません。

Step 1:ファイルを開く

# 存在しないファイル名を指定すると新規作成になります
[root@localhost ~]# vi practice.txt

Step 2:文字を入力する(インサートモード)

起動直後は「ノーマルモード」です。文字は打てません。
キーボードの i (Insert) を押してください。
画面の左下に -- INSERT -- と表示されたら、文字入力モードです。
適当に「Hello Vim!」と打ってみましょう。

Step 3:ノーマルモードに戻る

入力が終わったら、必ず Esc キーを押します。
左下の -- INSERT -- が消えればOKです。

Step 4:保存して終了する(コマンドラインモード)

: (コロン) を押すと、画面最下部に入力欄が出ます。
続けて wq と入力し、Enter を押します。

  • w (Write) : 保存
  • q (Quit) : 終了
:wq

これで元のターミナル画面に戻ってこれたら成功です!

コウ君

できた…! ちゃんと保存されて戻ってこれました!
i で書いて、Esc で戻って、:wq で保存。これだけ覚えれば生きていけますね!

💡 覚えておきたい終了コマンド集

  • :wq : 保存して終了(基本)
  • :q : (変更がない時に)終了
  • :q! : 保存せずに強制終了(失敗した時はこれ!)
  • :w : 保存だけする(終了しない)

4. カーソル移動の極意(hjkl)

Vimでは、矢印キー(↑↓←→)も使えますが、プロは使いません。
ホームポジションから手を動かさずに移動できる h j k l を使います。

  • h : ← 左
  • j : ↓ 下 (JapanのJ、下っぽい形で覚える)
  • k : ↑ 上 (Kingは上にいる)
  • l : → 右 (RightのL…ではないけど右)

一瞬でジャンプする便利キー

長い設定ファイルを編集する時、j キー連打では日が暮れます。

  • gg : ファイルの先頭へワープ
  • G (Shift+g) : ファイルの末尾へワープ
  • 0 (数字のゼロ) : 行頭へ
  • $ (Shift+4) : 行末へ
  • w : 次の単語へジャンプ

5. 編集テクニック:コピー、カット、ペースト

Vimでは、「行ごと削除」や「コピペ」もキーボードだけで爆速で行えます。
これらは全てノーマルモードで行います。

削除(カット)

  • x : カーソル上の1文字を削除(Deleteキーと同じ)
  • dd : 【超重要】 カーソルのある行を1行まるごと削除(カット)
  • 5dd : 5行まとめて削除

コピー&ペースト

Vim用語ではコピーを「ヤンク (Yank)」、ペーストを「プット (Put)」と呼びます。

  • yy : カーソルのある行を1行コピー
  • p : カーソルの下の行に貼り付け
  • P (Shift+p) : カーソルの上の行に貼り付け

取り消し(Undo)

「あっ、間違って消しちゃった!」という時も安心です。

  • u : 直前の操作を取り消す(Undo)
  • Ctrl + r : 取り消した操作をやり直す(Redo)

6. 検索と置換

長いログファイルから特定の文字を探したり、設定を一括変更したりする機能です。

検索(/)

ノーマルモードで / を押すと、検索モードになります。

  • /keyword : “keyword” を検索
  • n : 次の候補へジャンプ
  • N : 前の候補へジャンプ

置換(:s)

ファイル内の文字を一括変換します。

  • :%s/old/new/g : ファイル内の全ての “old” を “new” に置換する

7. 自分好みにカスタマイズ:.vimrc

「行番号を表示したい」「シンタックスハイライト(色付け)が欲しい」
そんな時は、ホームディレクトリにある .vimrc という設定ファイルを作ります。

[root@localhost ~]# vi ~/.vimrc

中身に以下のように書いて保存してください。

set number      " 行番号を表示
set title       " タイトルを表示
syntax on       " コードに色をつける
set tabstop=4   " タブの幅を4にする

次にVimを開いた時から、劇的に使いやすくなっているはずです。

次回予告:スクリプト作成への第一歩

第6回は、エンジニアの必須教養「Vim」について解説しました。
最初は指が絡まるかもしれませんが、毎日少しずつ触ることで、ある日突然「あれ? 考えた通りに指が動く!」という瞬間が訪れます。
その時、あなたはもうマウスには戻れなくなっているでしょう。

さて、これで「ファイルの読み書き」は完璧になりました。
次回からはいよいよ、これまでの知識を総動員して「シェルスクリプト(プログラミング)」の世界に足を踏み入れます。
「コマンドをファイルに書いて、自動で実行させる」。
これができれば、面倒なサーバー構築やバックアップ作業を全自動化できます。

リナックス先生

次回までに、Vimを使って「自己紹介を書いたテキストファイル」を作ってみてね。
コピー&ペーストや、行の削除も練習しておくこと!

▼Vimの練習も壊してもいい環境で!推奨VPS

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント