1. ホーム
  2. Linux

viエディタの使い方とコマンドの解説!

Share

vi(または改良版の Vim)は、Linux や Unix 系 OS で広く使われる高機能なテキストエディタです。

CLI(コマンドラインインターフェース)環境で軽快に動作し、ターミナル上でのファイル編集に欠かせないツールです。

この記事では、viエディタの基本的な使い方や、よく使うコマンドを初心者にも分かりやすく解説します。

viエディタとは?

vi(Visual Editor)は、キーボード操作だけでファイルの編集ができるテキストエディタです。

ほとんどのUnix系OSに標準で搭載されており、リモートサーバーでも使えるため、サーバー管理者や開発者にとって必須のツールといえます。

基本の起動と終了

ファイルを開く

vi ファイル名

例:

vi index.html

新規ファイルの場合でも、指定した名前で編集画面が開きます。

viを終了する

  1. ノーマルモードで以下のいずれかを入力します:
  • :q
    → ファイルに変更がなければ終了します。
  • :q!
    → 強制終了。保存せずに終了します。
  • :wq
    → 保存して終了します。
  • ZZ(Shift+zz)
    → 保存して終了(wqと同じ)。

viの3つのモード

viは以下の3つのモードを使い分けて操作します。

モード説明
ノーマルモード初期状態。コマンド入力に使用
挿入モード文字を入力できるモード
コマンドラインモードファイル保存・検索などを実行

モードの切り替え

  • ノーマル → 挿入:ia などの入力コマンド
  • 挿入 → ノーマル:Esc
  • ノーマル → コマンドライン::(コロン)

挿入モードに入るコマンド

コマンド動作
iカーソルの前に挿入
aカーソルの後ろに挿入
o次の行に新しい行を作成して挿入開始
I行の先頭で挿入
A行の末尾で挿入

よく使うノーマルモードの操作

カーソル移動

  • h: 左へ
  • l: 右へ
  • j: 下へ
  • k: 上へ

行の削除・コピー・貼り付け

  • dd: 現在の行を削除
  • yy: 現在の行をコピー
  • p: コピーまたは削除した行を貼り付け(直後)

検索

  • /文字列:下方向に検索
  • ?文字列:上方向に検索
  • n: 次の一致箇所へ
  • N: 前の一致箇所へ

保存と終了のコマンド

コマンド説明
:wファイルを保存
:qviを終了(変更があると警告)
:q!強制終了(保存しない)
:wq保存して終了
ZZ保存して終了(ショートカット)

編集・削除系のコマンド

コマンド説明
xカーソル位置の1文字を削除
Xカーソルの左の1文字を削除
D現在位置から行末まで削除
C現在位置から行末まで削除して挿入
J現在行と次の行を結合
u直前の操作を取り消す(Undo)
Ctrl + rUndoをやり直す(Redo)

ビジュアル選択モード(範囲選択)

コマンド説明
v文字単位で選択開始
V行単位で選択開始
Ctrl + v矩形(ブロック)選択モードを開始
d選択範囲を削除
y選択範囲をコピー
> / <インデントの追加・削除

ページ移動・検索系のコマンド

コマンド説明
G最終行に移動
gg先頭行に移動
:nn行目にジャンプ(例::20
Ctrl + f1画面下にスクロール
Ctrl + b1画面上にスクロール
*カーソル上の単語を次に検索
#カーソル上の単語を前に検索

マークとジャンプ

コマンド説明
m[a-z]現在の位置にマークをつける(例:ma
'aマークaの行頭にジャンプ
`aマークaの正確な位置にジャンプ

便利なその他コマンド

コマンド説明
.直前の編集操作を繰り返す
:set number行番号を表示する
:set nonumber行番号の非表示
:set paste貼り付けモード(インデントを維持)
:syntax onシンタックスハイライト有効化(vim)
:syntax offシンタックスハイライト無効化

viとvimの違い

viは基本的な機能のみを持つテキストエディタですが、vim(Vi IMproved)はそれを拡張した高機能版です。

多くのLinuxディストリビューションでは、viコマンドでも実際にはvimが起動するようになっています。

まとめ

viは最初こそ難しく感じますが、覚えるほどに強力なエディタです。リモートサーバーでの操作や、GUIがない環境での編集においては必須のスキルといえるでしょう。

まずは、iで挿入、Escでノーマル、:wqで保存終了。この基本3ステップから始めてみてください。