クイック エンジニアリングブログ

株式会社クイック Web事業企画開発本部のエンジニアリングチームが運営する技術ブログです。

私の好きなテキストエディタVimの魅力紹介

こんにちは、インフラチーム所属のにっしーです。

今回は自分の好きなテキストエディタのVimについて紹介してみたいと思います。 エンジニアは開発などでテキストエディタを頻繁に使うと思いますが、世の中に存在するテキストエディタはオープンソースのものから有償のものまで様々あり、個人によって好みが分かれるところです。 私の好きなエディタはオープンソースのVimなのですが、その魅力を今回紹介してみようと思います。

Vimの魅力

慣れると編集が早くなる独特な操作方法

Vimは他のエディタに比べると、かなり変わった操作方法を持っています。その大きな原因としては、以下の2つのモードを使い分けるところに由来しています。

  • normal モード
  • insert モード

normalモードは主にカーソル移動、テキストのコピー&削除、ファイル操作を行うものになります。このnormalモードは通常の文字入力を行うものではなく、例えば「a」を入力すると、実際にaの文字が入力されず、カーソルの状態が変わるだけになります。 対して、文字入力をするモードがinsertモードになります。こちらは他のエディタやIDEと同じく、キーボードで入力した文字がそのまま入力されていきます。

上の説明を踏まえるとnormalモードの存在が他のエディタと決定的に違う点になっています。このnormalモードの扱いに慣れると最終的にはマウスを使わずに済み、テキストの編集が早くなっていきます(実は私がVimで一番気に入っている点はこのマウスを使わずに済むところです)。この記事でnormalモードの操作を全て説明するのは難しいため、具体例を1つ紹介してみます。

例えば、カーソル上の単語を1つ削除する場合、他のエディタであれば、マウスに持ち替えて単語を範囲選択してBackSpace(またはDelete)で文字を消去します。 Vimだと、Escapeキーを押してinsertモードからnormalモードに切り替えた後にdawを入力します。この操作だと4つのキーを押すだけなので、いちいちマウスに切り替える必要がありません。ちなみに、先ほどのdawはdelete a wordを指しており、単語をコピーしたいときはyaw(yank a word)で行えます。

Vimにはこのようなテキスト操作が数多く用意されており、それらを使いこなすことでテキストの編集スピードが爆上がりします。

軽量

Vimは他のエディタやIDEに比べると起動が早く、最初に待たされる時間が少ないというメリットがあります。Vimがデフォルトで備える機能はかなりシンプルで、必要なプログラムの読み込みにかかる時間が短いためです。これは地味ですが、開発体験にとって意外に大きな要素だと考えています。今自分が思いついたコードの内容を即座にエディタを起動して入力できるので、ストレスが少ないです。

もし他のエディタを使って読み込みに時間がかかることにイライラすることがあるなら、Vimを使うとストレスが軽減されるかもしれません笑

カスタマイズ可能

Vimは個人の好みに合わせてカスタマイズすることができます。デフォルトでカスタマイズ出来る内容としては、例えば以下があります。

  • カラースキーマ
  • タブを挿入した時のスペース文字数
  • 行番号
  • 行の折り返し
  • 文字検索時の大小文字区別の制御
  • normalモード・insertモードのカスタムコマンド

また、Vimはプラグインを導入することで機能を拡張させることができます。プラグインは有志によって開発されており、以下の機能を備えたものがあります。

  • ファイラー
  • Vim上でgitの操作を可能にする
  • 特定言語で開発する時のコード補完・Linter・スニペット
  • normalモード・insertモードのコマンドをさらに拡張させる

上記のカスタマイズを行う方法はネット上に記事がたくさんあるので、すぐに見つけられます。プラグイン導入については、プラグインマネージャーというものがあり、それを使うと簡単にプラグインを導入できるようになります。

参考として、私が使っているプラグインを以下にいくつか紹介してみます。気になったものがありましたら、ぜひ試してみてください。

  • jiangmiao/auto-pairs
    • 括弧(),{},<>の片方を入力または削除した時に、自動でもう片方も入力または削除してくれるプラグイン。
  • kannokanno/previm
    • markdownのファイルを編集している時にVimコマンドを1つ実行するだけでブラウザを起動して、見た目の確認が出来るプラグイン。LiveReloadの機能を備えているのでmarkdownの変更がブラウザにすぐ反映されます。
  • preservim/nerdtree
    • Vimの画面に作業ディレクトリ内のファイル一覧を表示してくれるプラグイン。キーボード操作だけでディレクトリ移動、ファイルコピー・削除・リネームなどが行えます。このプラグインにより、ファイル操作に関して「マウスを使わずに済む」がかなり実現できます。
  • cocopon/iceberg.vim
    • icebergのカラースキーマが使えるようになるプラグイン。カラースキーマは色々試したのですが、icebergは暗めの色で構成されシックな印象であり、コーディングの際に目が疲れにくいので一番気に入っています。
  • thinca/vim-quickrun
    • 編集中のファイルの種類に応じて、Vimからファイルを実行することが出来るプラグイン。簡単なスクリプトを作る時にコード編集⇛動作確認が素早く行えるので便利です。

上記のカスタマイズを行うことによってエディタ設定が個人の好みに合ったものになるので、開発をより快適に行えるようになります。カスタマイズを行う方法はネット上に記事がたくさんあるので、すぐに見つけられます

さいごに

今回は私の好きなテキストエディタであるVimを紹介してみました。Vimは今あるテキストエディタの中ではかなり古株なのですが、いまだにVim本体やプラグインの開発は盛んに行われています。この記事を読んで興味を持たれた方は一度Vimの世界に足を踏み入れてみるのはいかがでしょうか?

最後までお読みいただきありがとうございました!!


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //

919.jp