初心者向け完全ガイド!viエディタで覚えるべき基本コマンド

プログラミング・IT

LinuxやUnixの環境で使われるテキストエディタ「vi(ヴィーアイ)」。

その操作はキーボード中心で直感的とは言えませんが、慣れると非常に効率的に作業できます。

多くの初心者が最初に悩むのが、「どのコマンドを覚えればいいのか」ということです。

実際、viには何百ものコマンドがありますが、よく使う基本的なものだけで、普段の編集作業は十分にこなせます。

この記事では、vi初心者がまず覚えるべき基本コマンドを厳選して紹介します。

スポンサーリンク

viってなに?なぜ使うの?

viは、1976年に開発された歴史あるテキストエディタです。現在でも多くのLinuxサーバーやUnixシステムに標準でインストールされています。

viの特徴

  • キーボードだけで操作できる
  • マウスを使わないため高速編集が可能
  • 軽量で動作が早い
  • どのLinux環境でも利用できる

なぜviを覚える必要があるの?

  • サーバー管理で必ず使う場面がある
  • リモート接続時に GUI エディタが使えない
  • プログラマーやシステム管理者の必須スキル
  • 一度覚えると作業効率が格段にアップする

最初は「使いにくい」と感じるかもしれませんが、慣れると手放せなくなるエディタです。

viの基本構造と3つのモード

viを使う前に、まず理解しておくべきことがあります。それは「モード」という概念です。

viには3つのモードがあり、それぞれ役割が異なります:

ノーマルモード(コマンドモード)

  • viを起動したときの初期状態
  • カーソル移動や編集コマンドを実行
  • 文字を入力することはできない
  • 最も基本となるモード

挿入モード(インサートモード)

  • 実際に文字を入力できるモード
  • iaなどのキーで挿入モードに入る
  • Escキーでノーマルモードに戻る
  • 文字入力専用のモード

コマンドラインモード

  • : (コロン)を押すと画面下部にコマンドラインが表示される
  • ファイルの保存や終了などの操作を行う
  • Enterでコマンド実行、Escでキャンセル
  • ファイル操作専用のモード

重要なポイント 今自分がどのモードにいるかを常に意識することが、vi使いこなしの第一歩です。迷ったらEscキーを何度か押してノーマルモードに戻りましょう。

ノーマルモードで使う基本コマンド

ノーマルモードでは、カーソル移動と編集操作を行います。まずは移動コマンドから覚えましょう。

カーソル移動コマンド

基本の4方向移動

h ← 左に1文字移動
j ↓ 下に1行移動  
k ↑ 上に1行移動
l → 右に1文字移動

覚え方のコツ

  • hは左端にあるので「左」
  • lは右端にあるので「右」
  • jは下向きの形なので「下」
  • kは上向きの形なので「上」

慣れるまでは矢印キーを使ってもかまいませんが、効率を考えるとhjklキーでの移動をおすすめします。

行内での移動

0  行の先頭に移動
$  行の末尾に移動
^  行の最初の文字に移動(空白文字を除く)

ファイル全体での移動

gg  ファイルの先頭に移動
G   ファイルの末尾に移動
数字G  指定した行番号に移動(例:10G で10行目)

編集コマンド

削除系コマンド

x   カーソル位置の1文字を削除
dd  現在行を1行削除
数字dd  指定した行数を削除(例:3dd で3行削除)

コピー&ペーストコマンド

yy  現在行を1行コピー(ヤンク)
数字yy  指定した行数をコピー(例:5yy で5行コピー)
p   カーソルの後にペースト
P   カーソルの前にペースト

取り消し・やり直しコマンド

u       直前の操作を取り消し
Ctrl+r  取り消した操作をやり直し

実際の使用例

ファイルを編集する典型的な流れを見てみましょう:

  1. vi sample.txt でファイルを開く
  2. gg でファイルの先頭に移動
  3. dd で不要な行を削除
  4. yy で必要な行をコピー
  5. G でファイルの末尾に移動
  6. p でコピーした内容をペースト

この一連の操作だけで、基本的なファイル編集ができます。

挿入モードに切り替えるコマンド

文字を入力するには、ノーマルモードから挿入モードに切り替える必要があります。

基本的な挿入コマンド

カーソル位置での挿入

i  カーソルの前に文字を挿入
a  カーソルの後に文字を挿入

行の端での挿入

I  行の先頭に文字を挿入
A  行の末尾に文字を挿入

新しい行での挿入

o  カーソルの下に新しい行を作成して挿入
O  カーソルの上に新しい行を作成して挿入

挿入モードの終了

Esc  挿入モードを終了してノーマルモードに戻る

どの挿入コマンドを使えばいい?

状況別の使い分け

  • 単語の途中に文字を追加したい → i
  • 単語の最後に文字を追加したい → a
  • 行の最後にコメントを追加したい → A
  • 新しい行に内容を書きたい → o

実際の使用例

コードファイルを編集する場合:

  1. vi script.py でPythonファイルを開く
  2. G でファイルの末尾に移動
  3. o で新しい行を作成
  4. print("Hello, World!") と入力
  5. Esc でノーマルモードに戻る

この流れで、簡単にコードを追加できます。

コマンドラインモードで使う保存・終了コマンド

ファイルの保存や終了には、コマンドラインモードを使います。ノーマルモードで : (コロン)を押すと、画面下部にコマンドラインが表示されます。

ファイル保存コマンド

保存の基本

:w         現在のファイルを保存
:w filename  指定した名前でファイルを保存

終了コマンド

終了の基本

:q   viを終了(未保存の変更がある場合はエラー)
:q!  強制終了(変更を破棄してviを終了)

保存と終了の組み合わせ

よく使う組み合わせ

:wq  保存してからviを終了
:x   保存してからviを終了(:wqと同じ)
ZZ   保存してからviを終了(ノーマルモードで実行)

その他の便利なコマンド

ファイル操作

:e filename    別のファイルを開く
:r filename    別のファイルの内容を現在位置に読み込む

実際の使用例

設定ファイルを編集する典型的な流れ:

  1. sudo vi /etc/hosts で設定ファイルを開く
  2. 必要な編集を行う
  3. :wq で保存して終了

間違えて編集してしまった場合:

  1. 編集中に問題があることに気づく
  2. :q! で変更を破棄して終了
  3. 再度ファイルを開いて正しく編集

覚えるべき基本コマンド一覧

ここまで紹介したコマンドを、使用頻度順にまとめました。

最重要コマンド(これだけは必須)

コマンド機能使用場面
i挿入モードに入る文字を入力したいとき
Escノーマルモードに戻る挿入モードを終了したいとき
:wq保存して終了編集を完了したいとき
:q!強制終了変更を破棄したいとき

移動系コマンド(効率アップに必須)

コマンド機能使用場面
h j k l基本移動カーソルを動かしたいとき
0行頭移動行の最初に移動したいとき
$行末移動行の最後に移動したいとき
ggファイル先頭ファイルの最初に移動したいとき
Gファイル末尾ファイルの最後に移動したいとき

編集系コマンド(作業効率大幅アップ)

コマンド機能使用場面
dd行削除不要な行を削除したいとき
yy行コピー行をコピーしたいとき
pペーストコピーした内容を貼り付けたいとき
u取り消し間違った操作を元に戻したいとき

挿入系コマンド(入力方法の選択肢)

コマンド機能使用場面
aカーソル後に挿入単語の最後に文字を追加したいとき
A行末に挿入行の最後にコメントを追加したいとき
o下に新行作成新しい行を追加したいとき

実践練習:基本操作の流れ

理論だけでなく、実際に手を動かして練習してみましょう。

練習1:簡単なテキスト編集

目標:基本的な文字入力と保存

  1. vi practice.txt で新しいファイルを作成
  2. i で挿入モードに入る
  3. 以下のテキストを入力: Hello, vi!This is my first vi practice.I'm learning basic commands.
  4. Esc でノーマルモードに戻る
  5. :wq で保存して終了

練習2:編集とコピー&ペースト

目標:既存ファイルの編集

  1. vi practice.txt で先ほどのファイルを開く
  2. gg でファイルの先頭に移動
  3. yy で1行目をコピー
  4. G でファイルの末尾に移動
  5. p でコピーした行をペースト
  6. u で直前の操作を取り消し
  7. :q! で変更を破棄して終了

練習3:設定ファイルの編集

目標:実際の設定ファイル編集を模擬

  1. vi config.txt で設定ファイルを作成
  2. i で挿入モードに入り、以下を入力: # Configuration filedebug=trueport=8080host=localhost
  3. Esc でノーマルモードに戻る
  4. 2G で2行目に移動(2Gは2行目に移動するコマンド)
  5. A で行末に移動して挿入モードに入る
  6. # Enable debug mode とコメントを追加
  7. Esc でノーマルモードに戻る
  8. :wq で保存して終了

よくある間違いと対処法

vi初心者がよく遭遇する問題と、その解決方法を紹介します。

問題1:「文字が入力できない」

症状:キーを押しても文字が入力されない

原因:ノーマルモードのまま文字を入力しようとしている

解決法

  1. ia で挿入モードに入る
  2. 挿入モードであることを確認してから入力

問題2:「変なコマンドが実行されてしまった」

症状:意図しない操作でファイルが変更された

解決法

  1. u で操作を取り消す
  2. 複数回間違えた場合は u を複数回実行
  3. それでもダメなら :q! で強制終了して最初からやり直す

問題3:「viから抜け出せない」

症状:どうやってviを終了すればいいかわからない

解決法

  1. Esc を何度か押してノーマルモードに戻る
  2. :q で終了(保存していない変更がある場合は警告が出る)
  3. 保存したい場合は :wq、保存したくない場合は :q!

問題4:「画面が変になった」

症状:画面表示がおかしくなった

解決法

  1. Ctrl+L で画面を再描画
  2. それでもダメな場合は一度viを終了して再起動

まとめ

viの基本コマンドは、意外にも少ない数で日常作業の9割以上をカバーできます。

この記事で紹介した基本コマンドを覚えれば、基本的なテキスト編集は問題なくこなせるようになります。

覚えるべき優先順位

  1. 必須コマンドiEsc:wq:q!
  2. 移動コマンドhjkl0$ggG
  3. 編集コマンドddyypu
  4. 挿入コマンドaAo

コメント

タイトルとURLをコピーしました