本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第1回 vi 入門|“こわくない” はじめの一歩|UNIX Cafe

vi 入門 | 第1回
まず最初に覚えたい「vi コマンドモード」の基本
ミナちゃん「vi って、入ったら出られなくなるって聞いて、ちょっと怖いです……」
vi に初めて触れるとき、多くの人がまず不安になるのは自然な反応です。ターミナルにあの画面が出てきただけで、「何か難しいことが始まった」と感じやすいからです。
でも、最初から全てを理解する必要はありません。まずは 開く → 動かす → 書く → 保存して閉じる という流れが見えてくれば大丈夫です。
このページでは、vi が怖く感じる理由をやわらげながら、初心者が最初に覚えるべきコマンドモードの基本だけに絞って、やさしく進めます。
動画で流れを先に見たい方は、UNIX Cafe の YouTube もあわせてどうぞ。記事と同じく、初心者向けのやさしい流れで vi の最初の一歩を確認できます。
📝 この記事で学べること
viを開いたときの状態(コマンドモード)とは何か- カーソルを動かす移動キー
hjklの使い方 - 文字や行を削除するコマンド
xとdd - 入力モードへの切り替え方(
iキー) - 保存と終了のコマンド(
:w:q:wq)
vi を開いた直後はコマンドモード
vi は、開いた瞬間から文字を書き始めるエディタではありません。最初にいるのは、移動・削除・保存・終了のためのコマンドモードです。
メモ帳や VSCode に慣れていると、ファイルを開いたらすぐ文字が打てると思いがちです。しかし vi では、まず「操作する場所」からスタートします。この違いが、初めて触れたときの戸惑いの正体です。
この状態で文字が打てなくても異常ではありません。まずは「いまは操作の時間なんだ」と考えるだけで、かなり落ち着いて触れるようになります。
💡 コマンドモードとは
vi には大きく2つの状態があります。「コマンドモード」は操作のための状態、「入力モード」は文字を書くための状態です。起動直後は必ずコマンドモードから始まります。
コマンドモードでできること
コマンドモードでは、文字を打つ以外のほぼすべての操作ができます。主なものをまとめると、次のとおりです。
- カーソルを移動する(
hjkl) - 文字を削除する(
x) - 行をまるごと削除する(
dd) - 入力モードへ切り替える(
i) - 保存する(
:w) - 終了する(
:q)
最初から全部を覚える必要はありません。まずは「動かす」「消す」「終わる」の3つが見えてくればOKです。
移動キー h j k l の使い方
コマンドモードでは、カーソルの移動もキーボードで行います。矢印キーでも動くことはありますが、vi の流儀では次の4つを使います。
h : 左に移動
j : 下に移動
k : 上に移動
l : 右に移動最初は「なぜ矢印キーを使わないのか」と思うかもしれません。これは vi が生まれた時代のキーボードに矢印キーがなかった名残です。慣れると、ホームポジションから手を離さずに操作できるため、むしろ速く動けるようになります。
まずは h で左、l で右、j で下、k で上、と声に出しながら動かしてみましょう。体で覚えると自然に身につきます。
⚠ 注意:ファイルが空のときは移動できません
新しいファイルを開いた直後は内容が何もないため、カーソルは動きません。まず i で数行書いてから Esc で戻り、移動を試してみましょう。
削除コマンド x と dd
コマンドモードには、文字や行を削除するコマンドが2種類あります。
x : カーソル位置の1文字を削除する
dd : カーソルがいる行を1行まるごと削除するx は Delete キーに近いイメージです。カーソルを消したい文字に合わせて x を押すだけで、その文字が消えます。dd は行単位の削除で、間違えて書いた行をまるごと消したいときに使います。
なお、dd で削除した行は p を押すと貼り付け直せます。「やっぱり消さなければよかった」というときでも、あわてなくて大丈夫です。
⚠ よくある失敗:入力モードのまま x や dd を押してしまう
入力モード中に x や dd を押すと、そのまま文字として入力されてしまいます。削除コマンドを使う前は、必ず Esc を押してコマンドモードに戻りましょう。
入力モードへの切り替え:i キー
コマンドモードのままでは文字を書けません。文字を書きたいときは、i を押して入力モードに切り替えます。
i を押すと、画面の下部に -- INSERT -- と表示されます。これが「いま入力モードにいる」というサインです。この状態になってはじめて、文字を自由に書けるようになります。
書き終えたら Esc を押してコマンドモードに戻ります。この「入力 → Esc → コマンド操作」という往復が、vi の基本リズムです。
💡 i 以外にも入力モードへの入り方があります
i はカーソルの直前から入力を始めます。行末に追記したいときは A(大文字)、新しい行を下に追加したいときは o(小文字)が便利です。まずは i だけ覚えて、慣れてきたら少しずつ増やしましょう。
保存と終了::w :q :wq
保存や終了は、コマンドモードで :(コロン)から始まるコマンドを使います。: を押すと画面の下部にカーソルが移動するので、そこに続けて文字を打ちます。
:w : ファイルを保存する
:q : vi を終了する
:wq : 保存して終了する
:q! : 変更を破棄して強制終了する初心者のうちは、まず :wq を中心に覚えると安心です。保存だけしたいときは :w、閉じたいだけのときは :q と整理すると、出口まわりが見えやすくなります。
⚠ 「出られない!」になったときは :q! を使う
何かを書いてしまって「保存したくないけど閉じたい」というときは :q! を使います。変更をすべて破棄して強制終了できます。「とにかく出たい」という緊急の出口として覚えておきましょう。
まずはこの流れだけ試してみよう
ここまでのコマンドを使って、次の流れを一度だけ試してみましょう。難しく考えず、順番どおりに操作するだけで大丈夫です。
- ターミナルで
vi hello.txtと入力して Enter を押す iを押して入力モードに切り替える(画面下部に-- INSERT --と表示される)- 好きな文字を1行だけ書く
Escを押してコマンドモードに戻るhjklでカーソルを動かしてみる:wqと入力して Enter を押し、保存して終了する
vi hello.txt # ファイルを開く
i # 入力モードへ切り替える
Hello, vi! # 何か書く
Esc # コマンドモードへ戻る
h j k l # カーソルを動かしてみる
:wq # 保存して終了するこの流れを一度体験するだけで、コマンドモードは「怖いもの」ではなく「操作の土台」に見えてきます。うまくいかなくても :q! で強制終了できるので、気軽に試してみましょう。
まとめ|最初に見るべきなのは「文字」ではなく「操作」
✔ この記事のまとめ
viを開いた直後は「コマンドモード」にいる。文字が打てなくても正常- カーソル移動は
h(左)j(下)k(上)l(右)で行う - 削除は
x(1文字)とdd(1行)の2種類を使い分ける - 文字を書くときは
iで入力モードに切り替え、終わったらEscで戻る - 保存は
:w、終了は:q、保存して終了は:wq、強制終了は:q!
コマンドモードは、vi を動かすための基本の場所です。全部を一度に覚える必要はありません。まずは「vi は入力する前に操作するエディタなんだ」と見えてくれば、それが大きな一歩です。
試してみて「思っていたより、ちゃんと触れた」という感覚がつかめれば、次のステップへ進む準備は十分できています。



「思っていたより、ちゃんと触れました」
次回予告
次は、「vi 移動コマンド」の基本を見ていきます。単純な1文字移動だけでなく、単語単位・行頭・行末への移動など、実際の編集作業でよく使う動きを取り上げます。ここまでの操作を土台にすると、流れがつかみやすくなります。
復習してみよう
復習したい方は、こちらもあわせてご覧ください。













