WindowsユーザーのためのLinux入門 第5回:脱・初心者!最強エディタ「Vim」サバイバルガイド

こんにちは!「リナックス先生」です。前回の高速検索術、使ってみたかしら?

さて、今回はいよいよ「Linux学習最大の壁」とも言われる、テキストエディタ「Vim(ヴィム)」に挑戦してもらうわよ。Windowsなら「メモ帳」を開いて文字を打ち、マウスで保存ボタンを押せばいいけれど、Linuxのサーバー内にはそんな便利なものはないわ。キーボードだけで、魔法のようにファイルを書き換えるプロの技を身につけましょう!

コウ君

先生、大変です!教えてもらった通りに設定ファイルを開いてみたんですけど、文字が入力できないんです。それどころか、終了の仕方も分からなくなって、画面が真っ暗なまま抜け出せなくなりました……これ、壊しちゃいましたか!?

リナックス先生

ふふ、大丈夫よコウ君。それは誰もが通る「Vimの洗礼」ね。Vimは普通のエディタとは考え方が根本的に違うの。でも、一度そのルールを理解してしまえば、マウスを使うのが馬鹿らしくなるほど爆速で編集ができるようになるわ。今日で「Vimから抜け出せない」卒業よ!

WindowsユーザーのためのLinux最短学習カリキュラム(全8回)

  1. 第1回:マウスからの脱却!Linuxの基本思想と「黒い画面」の環境構築
  2. 第2回:もう迷子にならない!ディレクトリ構造の理解とファイル操作
  3. 第3回:Windowsにはない壁!「ユーザー権限」と「パーミッション」を攻略
  4. 第4回:エクスプローラーより100倍速い!ファイル検索とテキスト閲覧
  5. 【今回】第5回:メモ帳は捨てなさい!最強エディタ「Vim」サバイバルガイド
  6. 第6回:ソフトの追加とネットワークの基礎!Webサーバーを立ち上げよう
  7. 第7回:Linux最大の魔法!「パイプ」と「リダイレクト」でコマンドを繋ぐ
  8. 第8回:手作業からの卒業!「シェルスクリプト」でサーバー構築を全自動化

1. Vimの正体:なぜエンジニアは「不便なエディタ」を使い続けるのか?

① 概念と背景(Why)

Windowsのメモ帳やVS Codeに慣れていると、Vimはただの「使いにくい道具」に見えるかもしれないわね [cite: 1]。でも、Vimは単なるエディタじゃない。「サーバー内で直接テキストを編集するための必須スキル」なのよ [cite: 1]。ネットワークの向こう側にあるサーバーにGUIはないわ。設定を一行書き換えるためだけに、ファイルをいちいち自分のPCにダウンロードして、編集して、アップロードし直す……なんて、プロの現場ではありえない効率の悪さよ。

Vimが愛される理由は、すべての操作がキーボードの「ホームポジション」から動かずに完結すること [cite: 1]。文字入力、行の削除、コピー、検索、置換、そして保存。これらをマウスに手を伸ばさずに「指先の呪文」だけでこなす快感は、慣れると病みつきになるわ。さらに、Vim(またはその祖先のvi)は、ほぼすべてのLinuxサーバーに標準でインストールされているの [cite: 1]。どんな現場に放り出されても、Vimさえ使えれば仕事ができる。「エンジニアとしての生命維持装置」のようなエディタなのよ。

② 実践手順と完全なコード(How)

まずは、Vimを立ち上げるところから始めましょう。前回学んだ `hello.sh` を編集対象にしてみるわね [cite: 2]。

# Vimを使ってファイルを開く(存在しなければ新規作成になる)
vi hello.sh

画面が開いたら、そこはもう「マウスの効かない聖域」よ [cite: 1]。キーボードを適当に叩いても文字が入らないことに驚くかもしれないけれど、それがVimの正常な姿なの。

③ プロによるコードの「1行・1オプション」徹底解説

  • vi (または vim):エディタを起動するコマンドよ [cite: 2]。最近のシステムでは `vi` と打っても、より高機能な `vim` が立ち上がるようになっていることが多いわね。
  • ファイル名:引数として渡したファイルを開くわ [cite: 2]。もし書き込み権限がないファイル(`/etc` の中など)を編集したいなら、第3回で学んだ `sudo` を付けて `sudo vi …` とする必要があるわよ [cite: 1]。

④ 現場のリアル(失敗談とノウハウ)

「Vimなんて古臭い、自分はVS CodeのSSH拡張機能だけでやる!」と言い張る若手もいるけれど、それじゃトラブルに対応できないわ。ネットワーク障害が起きて、SSHトンネルが不安定な時、VS Codeは重すぎて動かなくなることがある。そんな極限状態でも、軽量なVimならサクサク動いて設定を直せるの。プロは必ず「最後の砦」としてVimを手に馴染ませているわ。まずは基本を恐れずに触ってみて!


2. モードを制する者はVimを制す:ノーマルとインサートの切り替え

① 概念と背景(Why)

Windowsのメモ帳は、開いた瞬間から「文字入力」ができるわよね。これをVimの世界では「モードがない状態」と呼ぶわ。対してVimは、「文字を入力する時間」よりも「文字を読んだり、移動したり、削除したりする時間」の方が長いという考えに基づいているの。

そのため、Vimには大きく分けて2つのモードがあるわ。
1. **ノーマルモード**:起動直後の状態。キーボードは「入力用」ではなく、すべてが「命令用(ショートカット)」になるわ。例えば `x` を押すと一文字消え、`dd` を押すと一行消える。
2. **インサートモード**:実際に文字を入力する状態。Windowsのメモ帳と同じ感覚ね。
この2つの世界を、`i` キーと `Esc` キーで行き来する。これがVimの根幹よ。コウ君が文字を入力できなかったのは、この「モードの切り替え」を知らなかったからね [cite: 1]。

② 実践手順と完全なコード(How)

実際に文字を入力してみましょう。手順はこうよ [cite: 1]。

# 1. vi hello.sh で開く(最初は「ノーマルモード」)

# 2. 「i」キーを押す
# 画面左下に「-- INSERT --」と出たら「インサートモード」成功よ!

# 3. 好きな文字を入力する(例:echo "Vim is fun!")

# 4. 入力が終わったら「Esc」キーを押す
# 左下の表示が消えたら、再び「ノーマルモード」に戻った証拠よ

③ プロによるコードの「1行・1オプション」徹底解説

  • i (Insert):現在のカーソル位置から入力を開始するわ [cite: 1, 5]。
  • a (Append):カーソルの「次」の文字から入力を開始する。これもよく使うわね。
  • Esc (Escape):どんな時でも「ノーマルモード」に強制送還する魔法のキーよ [cite: 1]。迷ったら連打して!
  • dd:(ノーマルモードで)現在の一行を削除(切り取り)するわ [cite: 1]。
  • u (Undo):(ノーマルモードで)直前の操作を取り消すわ。Ctrl+Zと同じね。

④ 現場のリアル(失敗談とノウハウ)

インサートモードのままカーソルキーで移動しようとすると、環境によっては変な文字が入ったり、挙動がおかしくなったりすることがあるわ。プロの流儀は「移動する時はEscでノーマルモードに戻ってから」。ノーマルモードなら、`h(左) j(下) k(上) l(右)` の4つのキーだけで移動ができるの。ホームポジションを崩さない、これこそがVim使いの証よ!

PR

Linuxカーネルプログラミング 第2版 [ Kaiwan N. Billimoria ]

価格:5720円
(2026/7/17 19:10時点)
感想(0件)


3. 生還するための必須コマンド:保存・終了・強制終了

① 概念と背景(Why)

Vimで一番大切なコマンドは、入力方法じゃなくて「終わらせ方」よ [cite: 1]。これが分からなくてPCを強制終了する新人は本当に多いわ。Vimでは、ノーマルモードで `:`(コロン)を打つことで、エディタ全体に対する命令(コマンドラインモード)を出すことができるの [cite: 2]。

なぜ「終了」にわざわざコマンドを打つのか。それは、誤って保存してシステムを壊すのを防ぐためよ。「本当にこの内容で上書きしていいのか?」と自分に問いかけながらコマンドを打ち込む。この慎重さが、大切な設定ファイルを扱うインフラエンジニアには求められるの。保存して終わる、保存せずに逃げる。この「生還ルート」を完璧に覚えてちょうだい [cite: 1]。

② 実践手順と完全なコード(How)

ノーマルモード(Escを押した後)で、以下の文字を打ち込んでEnterを押してね [cite: 1, 2, 5]。

# 1. 保存して終了
:wq

# 2. 保存せずに終了(何も変更していない時)
:q

# 3. 強制終了(変更を破棄して無理やり終わる)
:q!

# 4. 保存だけする
:w

③ プロによるコードの「1行・1オプション」徹底解説

  • : (コロン):コマンドの開始合図よ [cite: 2]。
  • w (Write):書き込み、つまり「保存」を意味するわ [cite: 2]。
  • q (Quit):終了を意味するわ [cite: 1, 2]。
  • ! (感嘆符):強制。Vimが「変更されてるけど本当にいいの?」と引き止めてくるのを、「黙って言うことを聞け!」とねじ伏せる記号よ [cite: 1]。

④ 現場のリアル(失敗談とノウハウ)

コウ君、「:wq」を無意識に打てるようになったら中級者への第一歩ね [cite: 1]。でも、さらに上を目指すなら `ZZ`(大文字のZを2回)も覚えてみて。これはノーマルモードで打つだけで「保存して終了」ができる超速ショートカットよ。また、間違えて `Ctrl + S`(Windowsの保存クセ)を押すと、ターミナルがフリーズしたように固まることがあるわ。これはVimのせいじゃなく、ターミナルの「出力停止」機能。焦らず `Ctrl + Q` を押せば復活するから、覚えておいてね!


4. 現場のリアル:設定ファイル編集で絶対に忘れてはいけない「保険」

① 概念と背景(Why)

ここまでVimの技術を教えたけれど、プロの現場で最も重要なのは「技術よりも準備」よ。Vimで `/etc/ssh/sshd_config`(SSHの重要設定)を直接いじって、もし間違えたまま保存してしまったらどうなる?再起動した瞬間に二度とサーバーに入れなくなるわ。これをエンジニアは「詰んだ」と言うの。

だから、プロはVimでファイルを開く前に、必ず**「バックアップ」**を取るわ。元のファイルが確実にあれば、どんなにVimで中身をメチャクチャにしても、すぐに元に戻せる。この「臆病なほどの慎重さ」が、大規模システムを守るプロの正体なのよ。

② 実践手順と完全なコード(How)

設定ファイルを編集する時の、現場での鉄板の流れよ。これを体に染み込ませて!

# 1. 編集前にファイルをコピー(.org や .bak という名前を付けるのが慣習)
sudo cp /etc/hosts /etc/hosts.org

# 2. root権限でVimを起動
sudo vi /etc/hosts

# (ここで慎重に編集し、:wq で保存)

# 3. 差分を確認する(自分が何を書き換えたか最終チェック)
diff /etc/hosts /etc/hosts.org

③ プロによるコードの「1行・1オプション」徹底解説

  • cp ファイル名 ファイル名.org:オリジナル(Original)の略よ。いつでも戻せる安心感を手に入れるためのコマンドね。
  • diff:2つのファイルの違いを表示するコマンドよ。設定変更後、意図しない場所まで消していないかを確認するためにプロは必ず使うわ。

④ 現場のリアル(失敗談とノウハウ)

Vimには「スワップファイル(.filename.swp)」という、編集中のデータを守る隠しファイルが自動で作られることがあるわ。もしVimがクラッシュしたり、誰かが同じファイルを同時に開いたりすると、「Found a swap file!」という警告が出るの。これが出たら、誰かが作業中じゃないか確認し、誰もいないなら `r` キーで復元するか `d` キーでスワップファイルを消す判断が必要。これを無視して強制終了し続けると、古いデータが残って大変なことになるわよ。警告メッセージは「神様からのアドバイス」だと思って、ちゃんと読んでね!

コウ君

先生、やりました!`:wq` で保存して脱出できました!最初はあんなに怖かった黒い画面が、Vimを覚えたら自分専用のコクピットみたいに思えてきました。コピーと差分確認も、これから絶対やります!

リナックス先生

いい自信ね!その調子よ。読み、書き、移動……これでもうあなたはLinuxの大地で生きていける。次回は、より実践的な「サーバー構築」への第一歩。ソフトをインストールしたり、ネットワークの状態を調べたりして、実際にWebサーバーを立ち上げてみるわよ。ワクワクするでしょ?

▼ サーバー構築・開発を学ぶならVimが動くVPSで ▼

エンジニア必須の環境
「おすすめVPS」

VPSランキングを見る

技術スキルを活かす
「ITエンジニア転職」

転職エージェントを見る

コメント