サクラエディタなど基本的なエディタに慣れたら、次に気になるのはさらに高性能エディタの代表格、vimではないでしょうか？Vimはプログラムコードやシステム設定ファイルなどの編集で威力を発揮するためエンジニアにファンが多いのも特徴ですが、エンジニアを惚れ込ませるその高性能さは一度惚れてしまうと離れられなくなるほど。慣れるまでは少し大変かもしれない上級者向けエディタですが、今回はその苦労を補って余りある高性能エディタ、vimの魅力をご紹介しようと思います！

vimの特徴

ストレスの少ないマルチプラットフォーム

Vimの大きな特徴のひとつは、OSなど環境に左右されない事（＝マルチプラットフォーム）でしょう。WindowsやMacはもちろん、UbuntuやFreeBSDなど様々な環境で同じように使えるのがVimの特徴。例えば会社と自宅でエディタが違うためにショートカットの打ち間違いなどでイライラするなどの事もなく、開発や作業のストレスを軽減してくれます。

とにかく軽くて速い

VimはCUI(command line interface)で動くことが前提なのでとにかく軽くて速い！CUIとは簡単に言うとコマンドラインだけで動かす環境の事です。よくハッカーが画面いっぱいの英語の文字をカタカタやっているシーンがありますが、あれがCUIです。逆にCUIの対となるGUI(graphical user interface)は普段使っているマウスを使って操作をするインターフェイスの事。この普段私達が使っているGUIではディスプレイ解像度やCPUなどある程度のスペックが必要になりますが、CUIでは殆ど必要ないのでCUIベースで動くvimは軽くて速いのです。

基本的にキーボードだけで操作が可能

CUIベースのvimではマウスという概念が存在しないので、基本的にキーボードだけで操作が可能なのは大きな特徴でしょう。普段はあまり意識しないかもしれませんが、マウス操作は意外と時間が取られるものです。特にコーディング時やファイル操作時にはコマンドラインで2〜3行書けば数秒で済む操作もマウスを使えば倍以上に！この点もエンジニアがVimに魅了されてゆく理由のひとつです。そして余談ですが、キーボードだけで全ての操作を完結させるのは一種の快感でもあります。（※GVimと呼ばれるGUI版のVimもあり、こちらにはGUI特有のマウス操作などが実装されています)

基本的な操作方法

Vimではコマンドモードと入力モードという2つのモードを使い分けて操作を行います。ここがちょっとクセのある所で慣れるまでは大変なのですが、快適なコーディングライフの為に頑張って慣れて下さい！

インストール方法

Mac/Ubuntu

MacとUbuntuには最初からインストールされています。もしMacユーザーの方で最新版を入手したい場合などはMacPortsからインストールされるのが良いでしょう。(※標準のVimとインストールしたVimはパスが違うので環境変数PATHを変更するなど対応は行って下さいね）Ubuntuにはviという名前で入っていますが、ご安心ください。中身はVimです。

Windows

Vimの基本操作

配布サイトからインストーラーをダウンロードし、インストールします。 vim online が公式ですが、日本語自動認識など便利なスクリプトが同梱されている 香り屋 さんのインストーラーもおすすめです。インストールはダウンロードしたファイルを展開するだけなので、特に心配は不要でしょう。

まずはVimを起動してみましょう。Windowsの場合はgVimのショートカットをクリックし、それ以外はターミナルから「vim」または「vi」と入力です。また、この時から日本語入力モードはオフにしておきます。

この時、編集モードになっているので何か文字を打ち込もうとしても打ち込めない事がおわかりでしょう。文字を入力するには入力モードに切り替える必要があり、「i」と入力します。画面下に「INSERT」と表示されればOKです。これで文字が入力できるようになります。

入力モードを終えるには「esc」キーを押下します。この編集モードと入力モードの切り替えが慣れないうちは難しいと思いますが、頑張って慣れて下さい。Vimではこの基本操作に様々なコマンドを加えてファイル編集を行っていきます。それでは次はVimの代表的なコマンドをいくつかご紹介しましょう。

vimの代表的なコマンド

ファイルを開く

「vi ファイル名」と入力すればファイルを開く事ができます。「vi +n ファイル名」とすればn行目から開くという事もでき、「vi -r ファイル名」とすれば壊れたファイルのリカバリも可能。

入力モードへの切り替え

保存＆終了

カーソル移動

さきほどご紹介した「i」の他にも入力モードへの切り替えコマンドがあります。「i」はカーソルの左から入力開始、「I」は行頭から、「a」はカーソルの右から、「A」は行末から入力開始です。「:wq」で内容をファイルに保存して終了します。「:q」では普通に終了しますが内容が保存されていない場合には警告を出してくれ、「:q!」とすると保存の有無に関わらず強制終了します。Vimのミソでもあるカーソル移動は、これを習得すれば操作が格段に早くなるスグレモノ。これを覚えてコマンド操作をラクにしちゃいましょう！たくさんあるので一部だけご紹介しますが、例えば「0」で行頭、「h」で1文字戻る、スペースキーで1文字進むなどです。コマンドは こちらのサイト で詳しく紹介されているので、よければ参考にしてみて下さい。