連載
» 2017年12月06日 05時00分 公開

“応用力”をつけるためのLinux再入門(18):Linuxの定番テキストエディタ「vi」をマスターしよう(1)基本操作編 (1/2)

「vi」は、ターミナルで使用する「テキストエディタ」です。ほとんどのLinux環境に備わっており、設定ファイルの編集にviを使うように設定されているコマンドもあるため、最低限の操作は知っておく必要があります。

[西村めぐみ,@IT]
「“応用力”をつけるためのLinux再入門」のインデックス

“応用力”をつけるためのLinux再入門

Linuxの定番テキストエディタ「vi」とは?

 「vi」は、端末で動作するテキストエディタです。マウスはもちろん、矢印キーやファンクションキーのような特殊キーを使用せずに操作できるので、全ての操作をあらかじめスクリプトとして記述しておき、一気に編集するような操作も可能です。また、「遠隔地にあるサーバにsshでログインして設定ファイルを修正する」場合にも使用できます。

 現在広く利用されているのは「vim(Vi IMproved)」コマンドで、「vi」でvimが起動する、あるいはvimへのシンボリックリンクとなっています。vimでは矢印キーが使用できる他、多段アンドゥ(Undo)や構文強調表示にも対応しています。

viの起動と終了をマスターしよう

 「vi ファイル名」で、viが起動します。100行目にカーソルを移動して起動したい場合は、「vi +100 ファイル名」、abcと記述されている行に移動しておきたい場合は「vi +/abc」のように、「+行番号」や「+/検索文字列」を指定します。

viの起動方法

vi ファイル名

(指定したファイルを開いて起動する)

vi +100 ファイル名

(指定したファイルの100行目にカーソルを移動して起動する)

vi +/abc

(abcと記述されている行にカーソルを移動して起動する)



 viには、文字で操作する「コマンドモード(ノーマルモード)」と、文字を入力する「編集モード」の2つのモードがあります。例えば、コマンドモードでの[h]キーは「1つ左へ移動する」、編集モードの[h]キーは「hという文字を入力する」という意味になります。

 [Esc]キーで常にコマンドモードになります(※)。「ファイルを保存したい」「viを終了したい」といった操作を行いたい場合には、まずは[Esc]キーを押すとよいでしょう。

 ファイルを上書き保存して終了するには、「ZZ」(大文字の「Z」を2回)を入力します。保存と終了を分けて操作したい場合、[:]キーに続けて「w」で保存(write)、「q」(quit)で終了します。“強制的に”であれば「!」を付けます。

 「:」から始まるコマンドの場合は、自分が入力した内容を確認したり、修正したりした上でコマンドを実行できます。

 コマンドモードで[:]キーを押すと画面最下行にコロン(:)が表示されるので、「q!」のようにコマンドを入力し、[Enter]キーを押すことでコマンドが実行されます。

●viを終了するコマンド
:w 保存する(編集は続行する)
:wqまたは「ZZ」 保存して終了する
:q! 変更を破棄して終了する

 なお、上記のコマンドは[Esc]キーでコマンドモードにしてから実行し、最後に「Enter」キーを入力する必要があります。


ワンポイント:「-y」オプションで起動したviの動作

 「-y」オプションを付けてviを起動した場合は、動作が異なります。「-y」オプションは、マウスでクリックしてカーソルを移動して入力できる「easy mode」で起動するオプションで(evimコマンド相当)、基本的にずっと「挿入モード」です。

 [Ctrl]+[L]キーで通常の操作に戻り、「ZZ」コマンドで保存終了するか、[Ctrl]+[O]キー(挿入モード時は「1回コマンドを実行して、挿入モードに戻る」という操作になる)に続けて「:q!」を入力して、変更を破棄して終了してください。


 以下の画面1の実行例では、「vi /etc/bashrc」で/etc/bashrcファイルを参照しています(Ubuntu環境の/etc/bash.bashrc相当)。

viコマンドの実行例

vi /etc/bashrc

(/etc/bashrcを開く(rootユーザーの場合は編集可能))

vi +R /etc/bashrc

(/etc/bashrcを読み込み専用で開く)


画面1 画面1 viの画面(/etc/bashrc)

 /etc/bashrcは一般ユーザーでは変更できないファイルなので、最下行に「[読み込み専用]」と表示されています。なお、通常のファイルを読み込み専用で表示したい場合は、「+R」オプションを使用します。

 以下の画面2は、viで[Esc]キーに続いて「:q!」と入力した状態です。この後に[Enter]キーを押すと、ファイルを保存せずに終了します。最低限このキー操作を覚えておけば、いつでも変更を破棄して終了することができます。

画面2 画面2 「:q!」で保存せずに終了した(編集操作を一切していない場合、つまり、画面を開いて矢印キーでスクロールしただけてあれば「:q」のみで終了できる)

●「ZZ」コマンドの注意点

 viに不慣れなころ、よくやりがちな操作に[Ctrl]+[Z]があります。ファイルを保存して終了するコマンドは「ZZ」([Shift]キーを押しながら[Z]キーを2回)なのですが、キー操作ということで、つい[Ctrl]キーに指が伸びてしまうのかもしれません(画面3)。

画面3 画面3 [Shif]キーと[Ctrl]キーを間違えた場合

 しかし、[Ctrl]+[Z]は、シェルの「停止」のキー操作です。viはファイルを開いて表示あるいは編集状態のまま停止してしまうので、「fg」コマンドでフォアグラウンドに戻し、終了操作を行ってください。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。