LinuxのVim入門|初心者でもすぐ使えるvimコマンドと設定のポイントを解説

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)【Linux入門】初心者のための基礎知識・講座 > LinuxのVim入門|初心者でもすぐ使えるvimコマンドと設定のポイントを解説
「vimを開いたら抜け出せなくなった。」
「:wqって何?どうやって保存するの?」

Linuxを使い始めると、ほぼ必ずvimに遭遇します。サーバーの設定ファイルを編集しようとして、気づいたらvimが起動していた——そんな経験をした人は少なくないはずです。

この記事では、vimを一度も使ったことがない初心者を対象に、「まず使えるようになる」ことを最優先に解説します。難しいショートカットは後回しにして、「開く>編集>保存して終了」の3ステップを確実に身につけることから始めましょう。

実行環境: Ubuntu 24.04 LTS / Rocky Linux 9.4 で動作確認済み

この記事のポイント

・vimは「モード」が切り替わる特殊なエディタで、最初はiキーで編集モードに入る
・保存して終了は :wq、保存せず終了は :q! を覚えるだけで即実用できる
・カーソル移動・検索・置換の基本を覚えると設定ファイル編集が格段に楽になる
・nanoと違いvimはどのLinux環境にも最初から入っているため習得の価値が高い


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜ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

vimを開いた直後はノーマルモードです。この状態ではキーボードを押しても文字は入力されず、代わりにコマンドとして処理されます。

2. 文字を入力する(インサートモードに切り替える)

文字を入力するには、まずインサートモードに切り替えます。

# ノーマルモードで i を押す(カーソル位置の前に文字を挿入) i # または a を押す(カーソル位置の後ろに文字を挿入) a # 行末にカーソルを移動してインサートモードに入るには大文字A A

画面の左下に「-- INSERT --」と表示されれば、インサートモードに入っています。この状態で普通に文字を入力できます。

3. ノーマルモードに戻る

インサートモードから抜けてノーマルモードに戻るには、Escキーを押します。

# Escキーを押してノーマルモードに戻る Esc

「-- INSERT --」の表示が消えればノーマルモードに戻っています。迷ったらとにかく Esc を押してください。何度押しても壊れないので安心して使えます。

4. 保存して終了する(最重要コマンド)

ノーマルモードで以下を入力します。コロン「:」から始まるのがポイントです。

# 保存して終了(Write and Quit の略) :wq # 保存だけして終了しない :w # 保存せずに強制終了(変更を破棄する) :q! # 変更がない場合にそのまま終了 :q

「:wq」が最も基本的なコマンドです。「w(書き込み)」「q(終了)」の2文字を合わせたものです。Enterキーを押して確定します。

実際の操作の流れをまとめると次の通りです。

# 手順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

「dd」は設定ファイルの不要な行を素早く消す時に非常に便利です。削除した内容はバッファに保持されるので、pキーで貼り付けることもできます。

2. 行をコピーして貼り付ける(yy、p)

# カーソルのある行をコピーする(yank) yy # コピーした行をカーソルの下に貼り付ける p # コピーした行をカーソルの上に貼り付ける P

3. 直前の操作を元に戻す(u)

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

間違えて設定を消してしまっても「u」を押せば元に戻ります。焦らず使いましょう。

検索と置換の基本

1. 文字列を検索する

ノーマルモードで「/」を押すと画面下部に検索バーが現れます。

# 「Port」という文字列を検索する(大文字小文字を区別) /Port # 検索後、n で次の一致箇所へ移動 n # 前の一致箇所に戻る N

たとえばSSHの設定ファイル「/etc/ssh/sshd_config」でポート番号の行を探す時など、長いファイルを上から読む代わりに「/Port」と検索するだけで一発で見つかります。

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

設定ファイルで特定の値を一括変更する時に重宝します。ただし「:%s」は全置換なので、対象を間違えないよう注意してください。不安な場合は「:%s/old/new/gc」で確認しながら進めましょう。

行番号の表示設定

設定ファイルを編集する際、行番号が表示されていると目的の行をすぐに特定できます。

# コマンドラインモードで行番号を表示する :set number # 行番号を非表示にする :set nonumber

この設定はvimを閉じると消えてしまいます。毎回自動で行番号を表示したい場合は、次のセクションで説明する設定ファイル(.vimrc)に書いておきます。

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

「"」で始まる行はコメント行です。.vimrcを保存してvimを再起動すると設定が反映されます。

トラブルシュート:よくある困った場面と対処法

「どこかのキーを押したら変な画面になった」

まず 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サーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
vimも含め、サーバー管理で必要なコマンドを体系的に学びたい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>

関連記事:Linuxスキルをさらに伸ばす

vimでファイルを編集できるようになったら、次はLinuxの各種コマンドを深く学んでみましょう。

chmodコマンドで権限を変更する方法|755と644の違いや一括変更も
grepコマンドで文字列を検索する方法|複数ファイルやディレクトリ除外も
psコマンドでプロセスを確認する方法|auxと-efの違いやgrep検索も
Linuxのポート開放を確認するコマンド|ss・lsofの使い方
findコマンドでファイル・ディレクトリを検索する方法|名前や更新日時で探す
crontabコマンドの設定と書き方|動かない時のログ確認まで
LinuxのDNS設定方法|resolv.confが元に戻る原因とnmcliの手順

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。