読者の多くは,プログラミングに利用するお気に入りの「エディタ」をお持ちではないでしょうか。今回は,UNIX系OSの標準的なエディタとして長年使われ続けているviエディタについて取り上げます。もちろん,Linuxにおいても,次に述べるように“vi系列”のテキスト・エディタを利用できます。

viエディタの概要

 LinuxをはじめとするUNIX系OSでは,viが標準的なテキスト・エディタとなっています。オリジナルの「vi(VIsual editor)」は,米Sun Microsystemsの共同創業者の一人であるビル・ジョイ(Bill Joy)氏によって30年以上前に開発されたのが始まりですが,現在ではviの上位互換である「Vim(Vi IMproved)」が多くのLinuxディストリビューションで採用されています。vi/Vim(以後はまとめてviエディタと記述します)には,シンタックスハイライトやコード補完,コンパイル&エラージャンプなどをはじめ,プログラマ向けの機能も豊富に備わっています。

 GUIが一般的でない時代に開発されたviエディタは,マウスやメニューを一切使うことなく編集作業が可能です。独特の操作性があるものの,慣れると快適に扱うことができるエディタです。逆に言えば,慣れるまでは扱いづらい側面があります。

複数のモードを切り替えながら作業を進める

 vi初心者がまず戸惑うのは,viエディタには複数のモード(表1)があることでしょう。これは一般的なWindowsのエディタにはない概念です。viエディタでは,それらのモードを切り替えながら作業を進めていきます。

表1●viエディタの主なモード
モード説明
コマンドモード編集作業やカーソル移動などをキー操作で行う
挿入モードキーボードから入力された文字が挿入される
コマンドラインモード文字列検索や置換,ファイル操作を行う

 一般的なエディタでは,キーボードから入力された文字がそのままカーソル位置に挿入されます。しかしviエディタでは挿入モードに限られます。デフォルト(初期設定)のモードであるコマンドモード(通常モード,ノーマルモードとも言います)では,例えば「p」というキーを押すとペースト(貼り付け)を,「dd」と入力すると1行カット(削除)という操作になります。文字を入力するには,コマンドモード上で,挿入モードへ切り替えるキー操作(コマンド)を実行しなければなりません。

 viエディタを使い始めてしばらくは,こうした特徴はとても奇異に感じられるでしょう。慣れないうちは操作にとても時間がかかったり,誤った操作で訳がわからなくなったりすることも多いと思います。しかし慣れてくると,とてもスピーディに操作ができるのです。

 さて,Ubuntu(Ubuntu 8.04 LTS 日本語ローカライズド)のデフォルト設定では,viエディタの周辺機能がインストールされていないことがあります。viエディタが起動する場合でも,周辺機能は含まれておらず,後述する自動補完機能などが使えない場合があります。そのため,図1のコマンドを実行して,必要なパッケージをあらかじめインストールしておいてください(インターネットにつながっている必要があります)。

$ sudo apt-get install vim-full
図1●Vim関連パッケージの追加

viエディタの基本操作(起動,終了,モード切替)

 さっそくviエディタを使ってみましょう。最初に起動したり,終了したり,先に述べたモードを切り替える方法を説明します。

起動,終了,モード切替の方法

 viエディタを起動するには,[アプリケーション]メニューから[アクセサリ]-[端末]を選んで端末を表示し,vi(もしくはvim)と入力します(図2)。

$ vi
図2●viエディタの起動

 viあるいはvimのいずれを入力したときにも,VIMが起動します(図3)。

図3●viエディタの起動画面
[画像のクリックで拡大表示]

 viエディタを終了するには,「:q」と入力し,[Enter]キーを押します。「:」を入力した途端,画面最下行にカーソルが移動します(コマンドラインモード)。この行をメッセージラインと呼びます。通常は様々な情報が表示されますが,コマンドラインモードでの入力もメッセージラインで行われます。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら