
viエディタの基本操作について説明します。
この説明は、viエディタによるテキストファイルの作成、編集、削除は理解していることを前提としています。
もし、viエディタが初めて、まだ作成、編集、削除について理解していないという方は、まずは別記事「viエディタの使い方(初めての人向け、スクリーンショット付き)」をご覧ください。
viエディタの起動の仕方
viエディタは、Linux / UNIXや、Macのxterm (XQuartz)などのCUI画面(コマンドを入力して操作する画面)で、viエディタ起動のコマンド「vi」を使用することで起動できます。
コマンドの構文は次の通りです。
$ vi [ファイル名]
例えば、「test.txt」というファイルを作成 / 編集するためにviエディタを起動する場合は、次のようにコマンド入力します。
$ vi test.txt
viエディタを操作する時の基本知識
viエディタには「入力モード」と「コマンドモード」という2種類の状態があります。
入力モードとコマンドモードを都度切り替えて作業を行います。
- 入力モード
テキストを入力する時に使用するモード。 - コマンドモード
テキストを入力する時以外に使用するモード。
例えば、カーソルの移動、文字列の検索、文字の削除、行の削除、文字のコピー&ペースト、行のコピー&ペースト、ファイルの保存、viエディタの終了などの操作を行う、など。
操作時のポイントですが、現在入力モードかコマンドモードか分からなくなった時は、「Esc(エスケープ)ボタンを押せば必ずコマンドモードになる」ということです。
混乱した時は、Escボタンを押してスタートに戻りましょう。
入力モードとコマンドモードの切り替え
入力モードとコマンドモードの切り替えは、次のボタンを押すことでできます。
| 切り替え方向 | ボタン | 説明 |
|---|---|---|
| コマンドモード → 入力モード | i | カーソルの位置から文字を入力 |
| I (Shift + i) | カーソルのある行の行頭から文字を入力 | |
| a | カーソルの右から文字を入力 | |
| A (Shift + a) | カーソルのある行の行末から文字を入力 | |
| o | カーソルのある行の次の行頭から文字を入力 | |
| O (Shift + o) | カーソルのある行の前の行頭から文字を入力 | |
| 入力モード → コマンドモード | Esc | コマンドモードに切り替える |
全て覚える必要はなく、最低限「I」と「O」の操作だけ覚えておけばOKです。
カーソルの移動
viエディタを入力モードにすると、現在入力しようとしている場所に半角文字サイズの長方形が表示されます。
これが、viエディタの「カーソル」です (WindowsやMacのGUI画面のエディタでもカーソルは表示されるのでご存知かと思いますが)。

viエディタは、CUIですので、カーソルの移動はマウスやトラックパッドで操作せず、キーボードで行います。
viエディタのカーソルを移動するためのキーボードのボタンは次の通りです。
| 操作の種類 | コマンド | 説明 |
|---|---|---|
| 1文字分の移動 | h | 左に移動 |
| j | 下に移動 | |
| k | 上に移動 | |
| l | 右に移動 | |
| 行内での移動 | 0 (ゼロ) | 行頭に移動 |
| $ | 行末に移動 | |
| 指定した行に移動 | 数字 + G | 入力した行数(数字)に移動 例えば、23行目に移動したい場合は「23G」と入力 1行目に移動したい場合は「1G」と入力 |
| G | 最終行へ移動 |
豆知識:viエディタで行番号を表示する方法
viエディタでは、コマンドモード時に「:set number」コマンドを入力すると、左端に行番号を表示することができます。
ここで注意点ですが、コマンドは必ず半角文字で入力してください。(たまに、うっかり全角入力して動作せずに混乱する時があるかもしれないので、念のため。)

行番号を非表示にしたい場合は、コマンドモード時に「:set nonu」コマンドを入力すれば行番号が消えます。
(たぶん、nonu = no number の意味なんじゃないかと。)

テキストのコピーと貼り付けと削除
文章が入力でき、カーソルの位置も自由に移動できるようになったら、次はテキストのコピー、貼り付け、削除も知りた区なると思います。
ということで、表にまとめました。
これらの操作は「コマンドモード」で行います。
| 操作の種類 | コマンド | 説明 |
|---|---|---|
| コピー | yy | カーソルのある1行をコピー |
| 数字 + yy | カーソルのある行から指定した行数(数字)分だけコピー | |
| 貼り付け | p | カーソルの右側から後ろに向けてコピーした内容を貼り付け |
| 削除 | x | 1文字削除 |
| dd | 1行削除 |
ファイルの保存とviエディタの終了
最後に、作成/編集したファイルの保存とviエディタの終了方法について表にまとめます。
これらの操作は「コマンドモード」で行います。
| コマンド | 説明 |
|---|---|
| :w | 保存 |
| :w [ファイル名] | 指定したファイル名で保存 |
| :q | 終了(保存しない) |
| :wq | 保存して終了 |
| :wq [ファイル名] | 指定したファイル名で保存して終了 |
| :q! | 強制終了(保存しない) 例えば、テキストファイルを編集後、その内容を保存したくない場合、「:q」コマンドでは終了できない(警告が表示され)。 「:q!」コマンドを使うことで、編集内容を保存せずに終了することができる。 |
まとめ
今回はviエディタの基本的な操作について説明しました。いかがでしたでしょうか?
viエディタの操作はまだ他にもいろいろあります。
ただ、今回紹介したコマンドさえ知っておけば、実際のITエンジニア(プログラマーやネットワークエンジニア)がする作業に事足ります。
つまり、これらの操作ができるようになれば、あなたもviエディタの現役ITエンジニアレベルです。
viエディタは、ITエンジニアの基本的な知識として習得しておきましょう。
viエディタの使い方 〜 全記事一覧 〜
- viエディタの使い方(初めての人向け、スクリーンショット付き)
- 現在のページ:viエディタの使い方(基本操作)