上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉

Vimの深淵はとても深く、学ぶことは簡単ではありません。本記事では、初心者がVimをどのように学べばよいか? を解説しています。Shougoさんの寄稿です。

上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉

こんにちは。Shougo@ShougoMatsuです。今回は、Vim初心者のための記事を執筆することになりました。よろしくお願いします。

私のことを知らない人のために簡単に自己紹介しておきます。私はこれまで10年以上もの間Vimに関わっており、deoplete、dein、denite、defx、neosnippetといった各種プラグインを作成したり、ときにはVim本体にパッチを書くなどといった活動を行っています。

今回、初心者向けの記事を執筆することに決めたのは、勉強会などで「Vimをどのように学べばよいか?」について質問されることが多く、皆が同じ問題で困っているのだと気付いたからです。Vimの初心者向け講座は山のようにありますが、私はこれまでにない切り口で初心者が最短で実力を付けるための道筋を解説していきます。

ただし、今回の記事では具体的なVimの設定方法やVim scriptについての解説を行うことを目的にしていません。それらをまともに解説すると、一冊の本になってしまうほどだからです。

この記事における「初心者」ですが、今回は「Vimの:helpを読めない、読んだことがない人」と定義します。Vimの:helpを自由自在に読めるようになれば一人前なので、それを目標としていきましょう。

vimrcを極めることがVimを極める近道

vimrcとは、Vimの設定ファイルです。vimrcを設定することで、Vimの動作を好きなように変更することができます。

素のままのVimでもある程度テキストの編集作業は行えますが、Vimは互換性を非常に重視しているので、デフォルトで使える機能は少ないです。vimrcの設定を有効化することでVimの真価を発揮できます。もちろんプラグインをインストールすることでもVimを便利にできますが、Vimを極めるにはまずvimrcの設定を極めることこそが近道と言えるでしょう。そもそも、Vimのプラグインはvimrcに書いていた設定を単体で動作するようにパッケージングしたものなのです。

vimrcを扱う上で覚えるべきなのがVim scriptです。「Vimでしか役に立たないから」とVim scriptの勉強を嫌がる人がいます。しかし、vimrcはVim scriptを用いて設定するため、プラグインを書くにもプラグインを使うにもVim scriptの知識は必要なのです。Vim scriptを避けてVimを使っていると、きっとどこかでつまずきます。

世の中には「設定することは邪道、素のVimこそが至高」と考える人がいます。それも一つの考え方だと思いますが、何事も極端はよくありません。「必要な機能を取捨選択する、必要な設定のみを有効化する」ことこそが大事です。そのためにはVimの基礎を知り、自分に必要な設定とは何か考える必要があります。

最小限のvimrc

初心者がVim力を上げるには、最小限のvimrcから始めてみるといいでしょう。まっさらなvimrcにあなたの必要な設定やプラグインを加えていくのです。

このとき、「自分が理解した設定のみvimrcに加えていく」という原則を守るようにしてください。これを守ることにより、あなたのVim力は次第に向上し、「なぜこの設定をしているのか分からない」ということもなくなるはずです。

私の考える最小構成は以下のようなものです。シンタックスハイライトと、ファイルタイププラグインのみ有効化しています。

syntax enable

filetype plugin indent on

最小限の設定をもとにした:helpの調べ方〈実践編〉

チュートリアルとして、最小限のvimrcに記述したsyntax enablefiletype plugin indent onとは何なのか、実際に:helpで調べてみましょう。

まずはsyntax enableについてです。以下のように

:help :syntax-enable

と実行してドキュメントを見ると、この設定の意味が記述されています。

さすがに初心者が該当するドキュメントを直接見つけるのは難しいでしょう。その場合はまず:help syntaxと検索してhelpバッファを開きます。ここに、シンタックスハイライト全体に関する記述がされています。

helpバッファの中でsyntax enableを検索すれば、該当する項目にたどりつけるでしょう。私自身、該当する記述が見つからない場合は、ドキュメント内を検索して探すことがとても多いです。

ドキュメントを読むと、このコマンドはシンタックスハイライトを有効にするためのコマンドだと分かります。

ちなみに他の人のvimrcによってはsyntax enableではなく、syntax onと記述されているかもしれません。syntax enablesyntax onの違いについても:helpには記述されています。違いを調べるのは読者への宿題としておきましょう。

次に、filetype plugin indent onについて調べてみましょう。まず:help :filetypeで調べます。filetype plugin indent onとは:filetypeコマンドの引数にplugin indent onを指定しているということなので、まずは:help :filetypeで調べるのです。

:helpバッファの中でfiletype plugin indent onを検索すると、以下の記述が見つかるはずです。

Overview:                                       *:filetype-overview*

command                         detection       plugin          indent ~
:filetype on                    on              unchanged       unchanged
:filetype off                   off             unchanged       unchanged
:filetype plugin on             on              on              unchanged
:filetype plugin off            unchanged       off             unchanged
:filetype indent on             on              unchanged       on
:filetype indent off            unchanged       unchanged       off
:filetype plugin indent on      on              on              on
:filetype plugin indent off     unchanged       off             off

つまり、filetype plugin indent onとは、detection(ファイルタイプ検出)、plugin(ファイルタイププラグイン)、indent(インデント)を全て有効化する設定なのです。detection、plugin、indentが具体的に何をするのか調べることは、読者への宿題にしておきます。

このように:helpを調べていくだけで、芋づる式にどんどんVimの知識がついていくことが分かるでしょうか。:helpを活用する利点はここにあります。

ここでは簡単に:helpの引き方を説明しました。:helpの読み方や調べ方については、少し古いですが以下の記事が参考になるでしょう。

1vim-jp » Hack #45: help を引く

2vim-jp » Hack #199: :helpに慣れ親しむ

これらの記事はVim界で有名なthinca氏とtyru氏というVim Hackerが執筆しているので、信頼ができます。

信頼できる情報を収集すること

ところで、皆さんはVimの情報を得るとき、どのように検索しているでしょうか? 検索で適当に出てきた記事の設定をそのまま利用してはいないでしょうか?

本当にVimを上達したいのなら、まず誰が記事を書いたのか確認しましょう。無名の誰かの記事よりも、Vim界で活躍している、プラグインを制作している人の記事の方が、情報が間違っている可能性が低く信用ができます。

間違った情報を鵜呑みにすると、あなたのテキストエディタ生活に悪影響を及ぼすので注意しましょう。

私が:helpを読むようにアドバイスしているのも、記述されている内容の信頼性が高いからです。:helpのドキュメントを書いているのは基本的にVimの開発者です。開発者はVimの表も裏も知りつくしています。どんなWeb上の記事よりも:helpの記述の方が信用できるのです。基本的には:helpをリファレンスとし、Web上の記述は参考程度にしましょう。

Webエンジニア向けに推奨するプラグイン

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く