Vimとは?
VImという単語を耳にしたことはあるものの、どういうものなのか詳しく知らないという方も多いのではないでしょうか。ここでは、Vimとは何かについてまずは解説します。また、VimとViの違いや、Vimで具体的に何ができるかについても説明します。
Vimは高機能なテキストエディタ
Vim(ヴィム)はメモ帳やAtomなどと同じテキストエディタであり、パソコンにインストールすることでファイルの作成・編集・削除などを行うことができます。
Vimは他のテキストエディタとは大きく異なる点があります。それは、マウスは使わずキーボードのみですべての操作を行う必要があることです。
他のテキストエディタは上部バーなどからファイルの編集を行うことができますが、Vimはコマンドプロンプトやターミナルからコマンド入力によってファイルを編集します。
Vimのようなキーボードからのコマンド入力のみで操作する方式をCUI(Character User Interface)、画面上のボタンなどからも操作できる方式をGUI(Graphical User Interface)と呼びます。
【参考】:welcome home : vim online
VimとViの違い
VimとViはよく混同されますが、厳密には異なるテキストエディタです。Viを拡張させより使いやすくしたのがVimです。以前はViがUNIX系のOSで標準搭載されていましたが、2000年以降はVimが主流になっています。
VimとViは使い方が大きく変わっているわけではなく、ViのコマンドはそのままVimでも使うことが可能です。Vimは基本的にはViの上位互換と言えるでしょう。
【参考】:The Traditional Vi
Vimで何ができる?
Vimは通常のエディタ同様に、テキストファイルの作成・編集・削除を行うことが可能です。特にエンジニアがソースファイルやデータファイルの作成に使う場合が多いです。エンジニアは1日中パソコン操作を行うため、より高性能なテキストエディタを選択する場合が多いでしょう。
Vimの特徴
続いて、Vimの特徴について解説します。Vimはテキストエディタの1種ですが、他サービスとは大きく異なる点がいくつかあります。Vimの特徴を知ることで、自分にとってVimが合っているのかも見えてくるでしょう。
Linuxに標準で入っている
VimはLinuxを始めとするUnix系OSに標準搭載されていることが多く、Linuxをインストール後すぐにVimを使うことが可能です。Linuxはシステムのテストサーバや本番サーバで多く使われているOSであり、サーバ内で素早く編集ができるVimは多く用いられています。
また、WindowsやMacでも公式サイトからダウンロードすればVimを使うことが可能です。Windowsの場合、ターミナルではなくコマンドプロンプトからVim操作を行うことになります。
動作が軽量
Vimは他のテキストエディタに比べ動作が軽量なのも特徴です。起動も早いうえに、素早くファイル編集を行うことができます。Vimは他のテキストエディタと違い画面がないため、軽量化されています。
モードが分かれている
VimはCUIであり、コマンド入力のみでファイル操作のすべてを行います。VImはいくつかのモードに分かれており、モードを切り替えることでキーボードのみで操作できます。Vimを使いこなしたいなら、まずは各モードの役割を覚える必要があるでしょう。
Vimを使うメリット
続いて、Vimを使うメリットについて解説します。Vimはプログラマーやシステムエンジニアの方が多く使っています。Vimのメリットを知ることで、なぜVimがエンジニア職に支持されているのかが分かります。
作業効率の向上
Vimは動作が軽量なため、作業効率を向上させることができます。それだけでなく、マウスを使わずにキーボードのみで操作するため、一々マウスに手を移動させなくて良い分作業スピードが高まります。Vimなら手をホームポジションから動かす必要がありません。
単に開発スピードを上げ納期に間に合うようにするだけでなく、キーボードのみのシンプルな操作のため余計なミスを減らすことにも繋がります。作業効率をいかに高めるかはエンジニアにとって重要でしょう。
サーバ内で作業が可能
Webサーバなどにアップロードしたファイルは、一旦ダウンロードして編集する手もありますが手間がかかってしまいます。Vimならサーバにログインしてサーバ内で直接ファイルを編集することが可能です。
特にデータファイルなどは、全体ではなく一部のみを変更したい場合があります。一部だけを変更したいなら、サーバ上で直接編集した方が効率的なことが多いです。
プラグインで自分好みに拡張できる
Vimはプラグインを使うことで自分好みに拡張することが可能です。プラグインの多くは有志の方が作成しており、GitHubなどに公開されています。プラグインを導入することで、より作業効率を高めることが可能です。
たとえば、ソースコードをわかりやすく色分けしてくれるもの、文章の一括置換を行えるもの、ソースコードのコメントアウトを楽に行えるもの、などがあります。プラグインを使ってみたい方は、まずは主要なものからインストールしてみると良いでしょう。
分からないことを調べやすい
Vimは多くのエンジニアが使っているため、ネットに情報も多く分からないことを調べやすいです。コマンドや主要プラグインの使い方などは検索して解決する場合が多く、初心者でも勉強しやすいと言えるでしょう。
また、「vim-jp」と呼ばれる日本のコミュニティが活発なのも、初心者に優しい点です。コミュニティ内ではVimユーザーと交流したり、コマンドの使い方について質問したりすることができます。最新プラグインの情報に関しても仕入れることができるでしょう。
【参考】:vim-jpのチャットルームについて
Vimを使うデメリット
続いて、Vimを使うデメリットについて解説します。Vimは癖の強いテキストエディタのため、人によっては合わない場合もあり注意が必要です。
コマンド操作に慣れるのが大変
Vimはコマンド操作に慣れるまである程度時間はかかります。最初はリファレンスなどを見ながら、1つずつ覚えていくことになるでしょう。
エンジニア職の場合、実務でVimを使いサーバ内で編集を行うことも多いです。そのためエンジニアを目指す方は、転職後に慌てないためにVimのコマンドについて勉強しておくと良いでしょう。
マウスで操作できない
VimはCUIのためマウスで操作を行うことができません。マウスでテキスト編集を行いたい方には、Vimは向いていないと言えるでしょう。エンジニア職を目指すならVimを習得した方が良いですが、それ以外の方は、Vimを導入しキーボードのみの操作によって作業効率を高める必要性はそこまでありません。
Vimの各モードについて
Vimにはさまざまなモードがあり、各モードでできることは異なります。Vimを勉強してみたい方は、まず各モードの違いについて理解すると良いでしょう。モードの違いを理解できれば、各モードで使えるコマンドなどもわかってきます。
Vimの各モードの使い分け方について、初心者向けに簡単に解説します。
ノーマルモード
Vimを立ち上げると最初はノーマルモードになります。ノーマルモードでは他のモードへと移動することが可能です。また、各モードで「Esc」を押すことでノーマルモードに戻ることができます。
ノーマルモードではカーソル移動はできますが、文章の入力はできないので注意が必要です。
挿入モード
ノーマルモードから「i」を入力することで挿入モードになります。挿入モードでは、文章の挿入および削除を行うことが可能です。挿入モードに関しては他のエディタとそこまで違いはありません。
ビジュアルモード
ノーマルモードから「v」を入力することでビジュアルモードになります。ビジュアルモードでは、テキストの範囲選択を行い、その範囲に対して操作を行うことが可能です。
テキスト編集は基本的には挿入モードで行いますが、ビジュアルモードも使いこなせるようになると便利です。たとえばビジュアルモードでは、複数行を選択し冒頭にまとめて文字列を挿入する、などが可能です。
コマンドラインモード
ノーマルモードから「:」や「/」を入力することでコマンドモードになります。コマンドモードでは、ファイルそのものに対する操作を行うことが可能です。ファイルを上書き保存したり強制終了したりするコマンドが用意されています。
Vimを使いこなして作業効率を高めよう
本記事では、Vimとは何かについて解説しました。Vimのメリット・デメリットや各モードの使い分け方などがご理解いただけたかと思います。
Vimは使いこなせるまでに時間はかかるものの、コマンドの使い方をマスターすれば作業効率を向上させることが可能です。エンジニアを目指すならVimを習得した方が良いでしょう。
Vimを勉強してみたいという方は、本記事で紹介した4つのモードでどういったコマンドが使えるのか、から覚えていきましょう。