Vimの使い方と特徴を徹底解説!使えるコマンド一覧と操作方法は?Vimで開発を行うメリットとViとの違いも知っておこう
プログラミングで密接に触れ合うことになるエディタ
プログラミングをするときに発生する工程であり、一般的なプログラミングという仕事のイメージでもある「コーディング」。
実際にソースコードを記述する工程は、基本的に避けては通れない道になります。
この工程を行うにあたって、便利なツールが数多く存在しているため様々な選択肢があるといえるでしょう。
統合開発環境(IDE)でプログラミングからコンパイルやビルド・デバッグまで一貫して行うこともあれば、あくまで記述はエディタで行うというエンジニアも少なくありません。
今回はその中でも「Vim」というエディタにフォーカスを当てていきます。
長年愛され続けているVim
Vimは「エディタ」です。
現代のIT業界ないしエディタ界においては、Sublime TextやBrackets、Atomといったモダンなエディタが数多くリリースされています。
数々のエンジニアはもちろん、プログラミング初心者の方でも取っ付きやすいという特徴を持っています。
多くのプラグイン導入で高い拡張性・カスタマイズ性を持っているため、プロの現場でも親しまれているエディタです。
しかし、Vimがリリースされたのは1991年。
ベースになったという「Vi」に至っては1976年からの歴史と考えると、かなり古くから親しまれていることが分かります。
一体、Vimはなぜエンジニアを惹き付けるのでしょうか。
今回の記事では、Vimの使い方から特徴、メリットにまで注目していきます。
Vimを使いこなすためには必須知識となる使えるコマンド・操作方法についてもチェック。
ベースであるViとの違いについてもしっかりと抑えておきましょう。
Vimの使い方
それでは早速、Vimの使い方に注目してきましょう。
Vimはエディタですが、いわゆる「エディタ」とはかなり使い勝手が異なってきます。
コマンドを覚えていなければ、扱うのは難しいでしょう。
ただし、コマンドさえ覚えていればマウスを一切触らずに操作することも可能です。
Vimを使うためにLinuxのコマンドを覚える
Linuxといえば、WindowsやmacOSに続いて非常に知名度の高いパソコンのOSです。
実はVimを使いこなすためには、Linuxのコマンドを覚える必要が生じてきます。
VimはCUIで操作していくため、ファイルを開いたり、ディレクトリを移動・フォルダの作成のために都度コマンドを叩く必要があるからです。
例えば、ディレクトリの移動は「cd /Users/xxxxx/Desktop(ディレクトリを記述)」といったコマンドです。
最も基本的な使い方「編集モードと入力モードの切り替え」
Vimはコマンドが非常に数多くあり、それらを活用することでキーボードから一切手を離さずにプログラミング・コーディングが行えるエディタです。
最初にファイルを開いたら「編集モード」から「入力モード」へと切り替えなければ文字入力が受け付けてもらえません。
そのために、テキストを入力したいファイルを開いたら、まずはキーボードから「i」キーを押してください。
そうすると画面に「INSERT」と表示されます。
この状態になれば、実際にテキストを入力することが可能になります。
テキストの入力が終了したら「esc」を押せば編集モードに戻ることが可能です。
「i」と「esc」を交互に押して、編集モードと入力モードを切り替えるという基本的な使い方を頭に留めておきましょう。
Vimの持つ5つの特徴
基本的な使い方でも幾つか浮かんできた特徴に気が付いた方は少なくないでしょう。
ここからは、Vimが持っている特徴について紹介していきます。
- CLIで操作する
- コマンドが命
- 軽くて速い
- マルチプラットフォームである
- キーボードだけで操作ができる
- 日本語コミュニティが活発
上記6点について、簡単にチェックしていきましょう。
CLIで操作する
Vimは「CLI(Command Line Interface)」および「CUI(Character User Interface)」で操作します。
つまり、全ての操作をキーボードで行うということです。
ぱっと見、エディタではなくWindowsでいうコマンドプロンプトやmacOSのターミナルのように見えるでしょう。
コマンドが命
そのため、コマンドが全てといっても過言ではありません。
コマンドを覚えていればスムーズに次々に操作を行うことができますが、覚えていなければその都度調べる時間が発生してしまいます。
デメリットのように感じるかもしれませんが、コマンドを覚えてしまいさえすれば手足のごとく自由自在に操作できるでしょう。
マウスに手を伸ばさず、両手をキーボードに置いたまま全ての操作が行えるというのは、非常に大きな魅力です。
軽くて速い
VimはCLI・CUIで動きます。
そのため、とにかく軽量で、動作が速くサクサクです。
英文ではあまりないかもしれませんが、コメントアウトで日本語などを入力する際に若干のディレイなどがあると、案外ストレスを感じてしまうもの。
GUIを採用していればある程度重くなってしまうのは仕方のないことなので、どうしようもありません。
しかし、VimはCLIで動くエディタです。
とにかく軽く、速く動作することを実現しています。
マルチプラットフォームである
Vimは、OS問わず動作します。
Linuxのイメージが強いかもしれませんが、WindowsやmacOSでもVimを使えるようにされているため、OSを気にする必要はありません。
エンジニアの方がOSを変えると「今まで使っていたエディタやツールが対応していない」といった事態に遭遇することは少なくないでしょう。
しかし、VimであればOSを気にする必要がないのは安心できます。
キーボードだけで操作ができる
先ほど少し触れましたが、Vimはキーボードだけで操作できます。
Vimは、そもそもがCLIなのでマウスを使うことが想定されていないともいえるかもしれません。
GUIに慣れ親しんでいる方にとっては難しく感じたり、敷居が高く感じたりする可能性もあります。
しかし、慣れてしまえば「もうVim以外は使えない。前使っていたエディタには戻れない」と感じるようになる可能性もゼロではないでしょう。
それほどまでに人を魅了してしまうものを秘めているのが「Vim」というエディタです。
だからこそ、1991年のリリース以降長年エンジニアたちから愛され続けているのだといえます。
日本語コミュニティが活発
プログラミングなど、IT業界では基本的に「英語」が使用されます。
言語やソフト、ツールの開発が日本ではなく海外で行われているということもあり、日本語では情報収集がしづらいものも少なくありません。
しかし、その点でVimは安心です。
日本語ドキュメントや日本語のヘルプが充実しており、様々な情報を入手できます。
また、日本語のコミュニティも活発。
様々な場所でVimに関する質問への回答を得ることもできるため、Vimの操作面などでつまずいても安心して頼る場所があります。
Vimで開発を行うメリット
そんなVimですが、一体「Vimを使うことによって享受できるメリット」はどのようなものがあるでしょうか。
ここからはもっと具体的にVimで開発を行うメリットを解説いたします。
- 起動が速い
- 不変のUI
- ホームポジションを崩さないでいい
上記3つのメリットについて、1つずつチェックしていきましょう。
起動が速く、即座にコーディングが開始できる
先ほど、特徴の紹介で触れた通り「Vimはとにかく軽い」です。
その軽さは「起動スピード」でも明らかになります。
大抵、多くの統合開発環境(IDE)は起動に数秒を要します。
軽いといわれているエディタでさえ、マシンスペックや環境に左右されるものの1秒程度はかかるでしょう。
しかし、Vimは一瞬で起動します。
まさに「刹那」という言葉が相応しいほどのスピード。
起動が速ければ、ふと思い立った際に即座にコーディングできます。
たとえ数秒の積み重ねでも、月間、年間など累計で考えれば大きなアドバンテージとなるでしょう。
Vimで開発を行うことは、生産性の向上に繋がるといえるかもしれません。
不変のUI
統合開発環境に限ったことではありませんが、世に存在している製品はバージョンアップを境にUIが突如として一変することがあります。
アップデートはある日突然実行されていることも珍しくありません。
そうなると慣れないUIを使うことを強いられてしまい、生産性が落ちてしまうでしょう。
しかし、VimのUIは不変といえます。
そもそもCLIであるため、グラフィカルな部分が大幅に変更されて操作が複雑になる(変更される)ということも考えづらいでしょう。
そういった意味で、いつまでも変わらないUI・操作性で扱うことができるというのは大きなメリットになり得ます。
キーボードはおろか、ホームポジションを崩す必要もない
Vimはキーボードから手を離す必要がないということを、この記事中で何度か触れています。
とはいえ、一般的なエディタであってもショートカットキーや矢印キーなどを活用すれば、キーボードから手を離さずにコーディングはできるでしょう。
しかし、Vimは単純にキーボードから手を離さないというわけではなく「ホームポジション」を崩さずに操作できます。
というのも、カーソル移動はh、j、k、l。
これは右手のホームポジションが1つ左に動いただけであるため、直感的に指(腕)の動きが極限まで少ない状態でカーソル操作できます。
やはり、開発の効率が上がる要素の1つです。
また、腕や手首、指の疲労の軽減にも繋がるでしょう。
Vimの代表的なコマンドを紹介
それでは、幾つかVimの代表的なコマンドを紹介いたします。
既に記事中でも数個登場しましたが、Vimはコマンドで操作を行うので、コマンドを覚えることは非常に重要です。
開発効率・生産性に直結する部分ともいえるでしょう。
起動やファイルを開く操作
Vimを起動する際には、ターミナルで「vim」を実行すれば起動できます。
また「テキストファイルをvimで開く」場合は「vim test.txt」で実行すれば開くことが可能です。
Vimを起動した後にファイルを開く場合は以下の通りです。
- vim
- :e vim test.txt
1行目でVimを起動し、2行目でカレントディレクトリの「test.txt」を開いていることが分かります。
ファイルパスを指定する場合は、相対パスを利用しましょう。
終了する際には「:q」を実行します。
保存
ファイルを保存する際には「ZZ(上書き保存してVimを終了)」、「:w(内容を保存)」といったコマンドがあります。
Viとの違い
さて、実は、Vimと名前がそっくりなエディタ「Vi」というものが存在していることをご存知な方も少なくないでしょう。
あまりにも似通っている名前ですが、一体どのような違いがあるのでしょうか。
記事の冒頭で少しだけ触れましたが、実は「Vim」は「Vi」をベースに作られたエディタです。
Vimは、Viのほとんどの機能を備えています。
そのため、非常に似ているけれども非なるものという程度に認識しておけばいいでしょう。
ViとVimの関係性などについて詳しく知りたい方は、両者それぞれの歴史などについて調べるといいかもしれません。
Vimは長年愛されてきたエディタ
さて、今回は代表的なエディタであるVimについて解説してきました。
Vimは、古くから数多くのエンジニアに愛されてきたエディタです。
CLIで操作するという大きな特徴を持っていますが、どうしてこれほど長年愛され親しまれているのかというのが解ったのではないでしょうか。
Vimの虜になるエンジニアは、もう他のエディタに戻れないともいわれています。
これからもVimは親しまれ続けていくことが予想されるでしょう。
エディタは自分の使いやすいものを使う
エディタは、自分の使いやすいものを使うのが一番です。
Vimが有名で、知り合いや同僚のエンジニアに強くオススメされたからといって無理に使う必要はありません。
確かにVimは便利で、慣れてしまえば生産性や開発の効率を向上させることができる可能性を秘めているエディタです。
しかし、その過程で苦しむのであれば、無理に使用する必要はないでしょう。
大切なのはエディタとの「出会い」
エンジニアは「エディタと出会う」ことがあります。
一度出会い、その使い勝手や洗練されたUIなどに魅了されてしまえば、もうそのエディタから離れることはできません。
ぜひ、様々なエディタを試してみてください。
もちろん、Vimも一度は試してみる価値のあるエディタです。
自分が「コレだ」と感じるエディタを見つけられれば、開発のモチベーションにも繋がります。
「何を使っても同じ」とは思わず、色々なものを試してみましょう。
開発の効率がグンと上がるエディタに、出会えるかもしれません。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。