- LINUX
- 奥が深い!viエディタの使い方入門 はコメントを受け付けていません

Linuxサーバー管理者には必須スキル!今更聞けないviエディタの使い方
今回はLinuxサーバの構築や設定変更を行う際に必要となるviエディタの操作方法について説明していきたいと思います。今現在、X Windows SystemなどGUI環境があったり、サーバ構築担当者じゃない方などエディタを使う機会が無い方も、いざ必要となる場面に備えて覚えてみてください。
エディタが自由自在に使えるようになればLinuxでの作業速度や使用用途の幅が格段にあがりますよ~!
viエディタとは
そもそも、「viエディタ」ってなんやねん!って方のために説明しますが、viエディタはUNIXの伝統的なエディタの一つで、現在のLinuxにおいては最も標準的なエディタとなっています。機能としては、テキストファイルの作成・編集・保存などを行うためのプログラムとなります。
まあ簡単にいうと、windowsのメモ帳(notepad)のLinux版ってことです。
viのモード
viには機能の異なる3つのモードがあります。以降の説明ではモード毎に説明することになりますので、モードの特徴については必ず押さえておいてくださいね~!
| モード | 説明 |
|---|---|
| コマンドモード | viを起動した際の最初のモードとなります。テキストファイル内の移動や行など内容の削除、各モードへの移行などを行います。インサートモードからコマンドモードへ戻る場合は「Escキー」を押します。 |
| インサートモード | 文字を入力するモードです。コマンドモードからインサートモードへ移行する方法は複数あり、主に使用するものとしては「i」(カーソル位置から入力可能)や「o」(カーソルの下の行に新しい行を追加して追加した位置から入力可能)などがあります。 |
| exモード | ラインエディタexを利用するためのモードです。ファイルを保存する際や作業を終了する際によく使いますが、他にも複数行を対象にした変更や正規表現を使用した編集など豊富な用途があります。 |
viの起動方法
viを起動する場合は以下のように入力します。
$ vi
編集するファイルを指定してviを起動する場合はviの後ろにファイル名を指定します。(viとファイル名の間はスペースを入力)
$ vi sample.txt
viの基本操作(コマンドモード)
viではマウスや矢印キー・テンキーを使用せずとも操作することが可能となっています。サーバラックのコンソール端末などにはマウスや矢印キーが無い場合もあります(私はありました。そして実際パニックでした…orz)ので覚えておいて損は無いです。
■一文字単位の移動
| 移動方向 | 対応キー |
|---|---|
| ↑ | Kキー |
| ↓ | Jキー |
| ← | Hキー |
| → | Lキー |
■単語単位の移動
| 入力キー | 移動内容 |
|---|---|
| w/W | 次の単語の先頭へ移動する |
| b/B | 前の単語の先頭へ移動する |
| e/E | 今の単語の最後へ移動する |
■コマンドモードからインサートモードへの移行
| 入力キー | 説明 |
|---|---|
| i | カーソル位置から入力可能 |
| I | カーソルのある先頭行から入力可能 |
| a | カーソルの後から入力可能 |
| A | カーソルのある行末尾から入力可能 |
| o | カーソルの下の行に新しい行を追加して追加した位置から入力可能 |
| O | カーソルの上の行に新しい行を追加して追加した位置から入力可能 |
■文字列検索
| 入力キー | 説明 |
|---|---|
| / (検索したい文字列) | 下方向へ指定した文字列を検索 |
| ?(検索したい文字列) | 上方向へ指定した文字列を検索 |
■テキスト編集
| 入力キー | 説明 |
|---|---|
| yw | 単語をコピー |
| yy | 行をコピー |
| p | カーソルの後に挿入 |
| P | カーソルの前に挿入 |
| r | 文字を入れ替える |
| x | 文字を削除 |
| X | 前にある文字を削除 |
| dw | 単語を削除 |
| dd | 行を削除 |
| D | カーソル位置から行末までを削除 |
| u | 最後の処理の取り消し |
viの基本操作(exモード)
exモードに移行するには「:」を使います。また、exモードの書式は以下のようになります。
| 【書式】: [アドレス] コマンド [オプション] | |
| アドレス | コマンドの対象範囲を指定 |
| オプション | コマンド毎のオプションを指定 |
exモードには多数のコマンドがありますが、最もよく使う(というか必須)ものとして、編集した内容の保存や編集作業を終了させる「保存終了」があります。とりあえず他のコマンドは後回しでいいので以下の内容は覚えておくことをオススメします。
■保存終了操作
| 入力キー | 説明 |
|---|---|
| :w | 保存(viの終了はしない) |
| :q! | 保存せず終了 |
| :wq | 保存して終了 |
| :e (ファイル名) | 現在のファイルを終了し別のファイルを開く |
まとめ
少し省略した部分はありますが、今回の内容を押さえておけばとりあえず実際の業務でviエディタの操作にこまることは無いでしょう(と思います)。慣れるまでは勝手が悪いかもしれませんが、頑張って覚えてみましょう!


















