「:wqって何?どうやって保存するの?」
Linuxを使い始めると、ほぼ必ずvimに遭遇します。サーバーの設定ファイルを編集しようとして、気づいたらvimが起動していた——そんな経験をした人は少なくないはずです。
この記事では、vimを一度も使ったことがない初心者を対象に、「まず使えるようになる」ことを最優先に解説します。難しいショートカットは後回しにして、「開く>編集>保存して終了」の3ステップを確実に身につけることから始めましょう。
実行環境: Ubuntu 24.04 LTS / Rocky Linux 9.4 で動作確認済み
この記事のポイント
・vimは「モード」が切り替わる特殊なエディタで、最初はiキーで編集モードに入る
・保存して終了は :wq、保存せず終了は :q! を覚えるだけで即実用できる
・カーソル移動・検索・置換の基本を覚えると設定ファイル編集が格段に楽になる
・nanoと違いvimはどのLinux環境にも最初から入っているため習得の価値が高い
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜvimを覚える必要があるのか
サーバーを管理する現場では、GUIツールが使えない状況が珍しくありません。クラウドのVPS、Dockerコンテナの中、SSHでつないだ最小構成のサーバー——こういった環境に共通しているのは、vimは入っているがnanoやgeditは入っていないということです。20年以上Linuxサーバーを運用してきた経験から言うと、「vimが使えない」ことで手が止まる場面は意外に多いです。急なトラブル対応でサーバーに直接入って設定ファイルを修正しなければならない時、vimが使えないと詰みます。
「nanoでいいじゃないか」という声もよく聞きます。それは正しいですが、以下の表のとおり、環境によってはnanoが入っていないケースがあります。
| エディタ | 標準インストール | 主な使用シーン |
|---|---|---|
| vim / vi | ほぼすべてのLinuxに標準搭載 | サーバー管理・設定ファイル編集 |
| nano | Ubuntu系は標準・RHEL系は要インストール | 初心者向けの簡易編集 |
| emacs | 要インストール | プログラマー・研究者向け |
vimの「モード」という概念を理解する
vimがとっつきにくい最大の理由は「モード」があることです。普通のテキストエディタはファイルを開いたらすぐに文字を入力できますが、vimは違います。vimには主に3つのモードがあり、それぞれでキーの意味が変わります。
| モード名 | 用途 | 切り替え方 |
|---|---|---|
| ノーマルモード | カーソル移動・コマンド実行(起動直後はここ) | Escキーを押す |
| インサートモード | 文字の入力・編集 | ノーマルモードで i を押す |
| コマンドラインモード | 保存・終了・検索・置換 | ノーマルモードで : を押す |
初心者が「文字が打てない!」「なんか変なことになった!」と困惑するのは、ほぼ全てモードを把握していないことが原因です。まず「vimにはモードがある」という事実を頭に入れてください。
vimの基本操作:開く・編集・保存・終了
1. vimでファイルを開く
ターミナルで以下のコマンドを実行します。# test.txtというファイルをvimで開く vim test.txt # 存在しないファイル名を指定すると新規作成になる vim newfile.txt
2. 文字を入力する(インサートモードに切り替える)
文字を入力するには、まずインサートモードに切り替えます。# ノーマルモードで i を押す(カーソル位置の前に文字を挿入) i # または a を押す(カーソル位置の後ろに文字を挿入) a # 行末にカーソルを移動してインサートモードに入るには大文字A A
3. ノーマルモードに戻る
インサートモードから抜けてノーマルモードに戻るには、Escキーを押します。# Escキーを押してノーマルモードに戻る Esc
4. 保存して終了する(最重要コマンド)
ノーマルモードで以下を入力します。コロン「:」から始まるのがポイントです。# 保存して終了(Write and Quit の略) :wq # 保存だけして終了しない :w # 保存せずに強制終了(変更を破棄する) :q! # 変更がない場合にそのまま終了 :q
実際の操作の流れをまとめると次の通りです。
# 手順1: ファイルを開く $ vim test.txt # 手順2: i を押してインサートモードに切り替える # (画面左下に「-- INSERT --」が表示される) # 手順3: テキストを入力する Hello, Linux World! # 手順4: Esc を押してノーマルモードに戻る # 手順5: :wq と入力してEnterを押す :wq # 手順6: ファイルが保存されてターミナルに戻る "test.txt" 1L, 19B written $
カーソル移動の基本コマンド
ノーマルモードでのカーソル移動を覚えると、長い設定ファイルの編集がずっと楽になります。| キー | 動作 |
|---|---|
| h | 左に1文字移動 |
| j | 下に1行移動 |
| k | 上に1行移動 |
| l | 右に1文字移動 |
| 0(ゼロ) | 行頭に移動 |
| $ | 行末に移動 |
| gg | ファイルの先頭に移動 |
| G | ファイルの末尾に移動 |
| :行番号 | 指定した行番号に移動(例: :50 で50行目へ) |
矢印キーでも移動できますが、hjklを使う方が指を大きく動かさず効率的です。慣れてきたら意識して使ってみてください。
編集に便利なノーマルモードのコマンド
1. 行を削除する(dd)
# カーソルのある行を1行削除する dd # 3行まとめて削除する 3dd
2. 行をコピーして貼り付ける(yy、p)
# カーソルのある行をコピーする(yank) yy # コピーした行をカーソルの下に貼り付ける p # コピーした行をカーソルの上に貼り付ける P
3. 直前の操作を元に戻す(u)
# 直前の操作を取り消す(Undo) u # 取り消しをやり直す(Redo) Ctrl + r
検索と置換の基本
1. 文字列を検索する
ノーマルモードで「/」を押すと画面下部に検索バーが現れます。# 「Port」という文字列を検索する(大文字小文字を区別) /Port # 検索後、n で次の一致箇所へ移動 n # 前の一致箇所に戻る N
2. 文字列を置換する
コマンドラインモードで「s」(substitute)コマンドを使います。# カーソルのある行で「old」を「new」に置換(最初の1つのみ) :s/old/new/ # カーソルのある行で「old」をすべて「new」に置換 :s/old/new/g # ファイル全体で「old」をすべて「new」に置換 :%s/old/new/g # 確認しながら置換(一つずつy/nで選択) :%s/old/new/gc
行番号の表示設定
設定ファイルを編集する際、行番号が表示されていると目的の行をすぐに特定できます。# コマンドラインモードで行番号を表示する :set number # 行番号を非表示にする :set nonumber
vimの設定ファイル(.vimrc)で使いやすくする
vimには「.vimrc」という設定ファイルがあり、自分好みにカスタマイズできます。# ホームディレクトリに.vimrcを作成または編集する vim ~/.vimrc
" 行番号を表示する set number " シンタックスハイライトを有効にする(色分け表示) syntax on " タブをスペース4つに変換する set expandtab set tabstop=4 set shiftwidth=4 " 検索時に大文字小文字を区別しない set ignorecase " 文字コードをUTF-8に設定する set encoding=utf-8
トラブルシュート:よくある困った場面と対処法
「どこかのキーを押したら変な画面になった」
まず Escキーを複数回押してください。ほぼ確実にノーマルモードに戻ります。そのあと「:q!」で保存せず終了して、もう一度やり直すのが一番安全な方法です。
「読み取り専用(readonly)と表示された」
「W10: Warning: Changing a readonly file」と警告が出た場合、そのファイルは書き込み権限がありません。# sudo権限で保存する場合(vimの中からsudoを使う) :w !sudo tee % # またはsudo付きでvimを起動し直す sudo vim /etc/設定ファイル名
「スワップファイルが残っていると言われた」
vimが異常終了すると「.ファイル名.swp」というスワップファイルが残ります。次回開く時に警告が出た場合、「r」を押して回復するか「d」を押してスワップファイルを削除してください。「文字を入力したらhjklで移動する代わりに文字が打ち込まれた」
ノーマルモードに入っているか確認してください。Escキーを押してからhとjで移動してみましょう。本記事のまとめ
vimの基本コマンドをまとめます。| やりたいこと | コマンド |
|---|---|
| ファイルを開く | vim ファイル名 |
| インサートモードに切り替える | i(カーソル前)または a(カーソル後) |
| ノーマルモードに戻る | Esc |
| 保存して終了 | :wq |
| 保存せず終了(強制) | :q! |
| 行を削除 | dd |
| 元に戻す | u |
| 文字列を検索 | /検索ワード |
| 全置換 | :%s/変更前/変更後/g |
| 行番号を表示 | :set number |
vimは最初こそとっつきにくいですが、「モードがある」という概念さえ理解してしまえばすぐに慣れます。まずは「i→編集→Esc→:wq」の4ステップだけを完璧に覚えて、少しずつショートカットを追加していくのが上達の近道です。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
vimも含め、サーバー管理で必要なコマンドを体系的に学びたい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
関連記事:Linuxスキルをさらに伸ばす
vimでファイルを編集できるようになったら、次はLinuxの各種コマンドを深く学んでみましょう。・chmodコマンドで権限を変更する方法|755と644の違いや一括変更も
・grepコマンドで文字列を検索する方法|複数ファイルやディレクトリ除外も
・psコマンドでプロセスを確認する方法|auxと-efの違いやgrep検索も
・Linuxのポート開放を確認するコマンド|ss・lsofの使い方
・findコマンドでファイル・ディレクトリを検索する方法|名前や更新日時で探す
・crontabコマンドの設定と書き方|動かない時のログ確認まで
・LinuxのDNS設定方法|resolv.confが元に戻る原因とnmcliの手順
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Linux初心者向けインストール基礎知識|ディストロ選定からデュアルブート・仮想環境まで
- 前のページへ:Linuxのエイリアス設定入門|よく使うコマンドを短縮して作業効率を上げる方法
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます