Vimプラグイン · 1 min read · Nov 30, 2025
ソフトウェア開発者のための便利なVimエディタープラグイン - パート3: a.vim
これまでのところ、Vimのプラグインに関する記事シリーズでは、Pathogenプラグインマネージャーを使用したVimプラグインのインストールの基本について説明し、Tagbar、delimitMate、Syntasticの3つのプラグインを取り上げました。さて、この第3部であり最終部では、a.vimという非常に便利なプラグインについて説明します。
このチュートリアルで言及されているすべての例、コマンド、および指示は、Ubuntu 16.04でテストされており、使用したVimのバージョンは7.4です。
A.vim
ソフトウェア開発に従事し、CやC++のようなプログラミング言語を扱っているなら、ソースファイルとヘッダーファイルの間を何度も切り替える必要があることはほぼ不可能だと同意するでしょう。私が言いたいのは、それは非常に基本的な作業であり、非常に頻繁に行われるということです。
GUIベースのIDEを使用しているときはファイル間の切り替えが簡単ですが(マウスのクリックを数回するだけで済みます)、VimのようなコマンドラインIDEを使用している場合は、少し難しくなります。しかし、あなたが今までに推測したように、ソースファイルとヘッダーファイルの間を切り替えるのを特に簡単にするプラグイン - a.vim - が存在します。
使用方法に入る前に、このプラグインのインストールプロセスは、この記事シリーズで説明した他のプラグインのインストール方法とは異なることを述べておく価値があります。以下は、この場合に関与する手順です:
- まず、こちらにアクセスして、a.vimとalternate.txtの2つのファイルをダウンロードする必要があります。
- 次に、以下のディレクトリを作成します:~/.
vim/bundle/avim, ~/.vim/bundle/avim/doc, ~/.vim/bundle/avim/plugin, および ~/.*vim/bundle/autoload*. - ディレクトリの作成が完了したら、a.vimを~/.vim/bundle/avim/pluginおよび~/.vim/bundle/autoloadに、alternate.txtを~/.vim/bundle/avim/docに入れます。
これで完了です。前述のすべての手順が正常に完了すれば、プラグインはシステムにインストールされます。
プラグインの使用は非常に簡単です::Aコマンドを実行するだけです - 現在のファイルがソースファイル(例えばtest.c)の場合、プラグインは対応するヘッダーファイル(test.h)を開きます(逆もまた真です)。
当然のことながら、同じ名前の対応するファイルが存在するとは限りません。この場合、:Aを実行すると、その名前の新しいファイルが作成されます。例えば、test.hが存在しない場合、その名前のファイルが作成されて開かれます。
この動作を無効にしたい場合は、ホームディレクトリにある.vimrcファイルでg:alternateNoDefaultAlternate変数に非ゼロの値を設定できます。
次に、ソースファイルから非対応のヘッダーファイルを参照するのはかなり普通です。例えば、test.cにいて、test.hではなく別のヘッダーファイル(例えばmem.h)に切り替えたい場合、VimでIH
これまでに議論した機能は、開こうとしているファイルが現在のファイルと同じディレクトリに存在することを前提としています。しかし、あなたも同意するように、常にそうであるとは限りません。私が言いたいのは、多くのプロジェクトでは、ソースファイルと対応するヘッダーファイルの場所が常に同じディレクトリにあるわけではないということです。
そのような状況に対処するためには、g:alternateSearchPath変数を使用する必要があります。この変数について公式のドキュメントは次のように述べています:
“このプラグインは、ソースファイルとヘッダーファイルを見つけるために使用する検索パスを構成できるようにします。検索パスはg:alternateSearchPath変数を設定することによって指定されます。デフォルト設定は次のとおりです:”
g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc' “これは、対応するファイルが../source、../src、../include、../incのいずれかで検索されることを示しています。g:alternateSearchPath変数の値は、単に接頭辞とディレクトリのカンマ区切りリストです。”sfr:”接頭辞は、パスがファイルに対して相対的であることを示します。他の接頭辞は”wdr:”で、これはディレクトリが現在の作業ディレクトリに対して相対的であることを示し、”abs:”はパスが絶対であることを示します。接頭辞が指定されていない場合は、”sfr:”が仮定されます。”
このプラグインの前述のすべての機能がすでにあなたを「わお」と言わせたなら、まだ終わりではありません。このプラグインが提供するもう1つの非常に便利な機能は、Vimの画面を分割して、ソースファイルとその対応するヘッダーファイルを同時に表示できることです。
さらに、画面を水平または垂直に分割でき、あなたにとって最適な方法で表示できます。:ASコマンドを使用して画面を水平に分割し、:AVコマンドを使用して垂直に分割します。


:Aコマンドを使用して開いているファイル間を切り替えます。
このプラグインは、同じVimウィンドウ内で対応するファイルを別のタブで開くこともできます。これは、:ATコマンドを実行することで行えます。

もちろん、:AV、:AS、および:ATのように、:IHV、:IHS、および:IHTコマンドも使用できます。
結論
多くのプログラミング関連のVimプラグインが利用可能ですが、この記事の3部シリーズで取り上げたプラグインは、ソフトウェア開発作業に適したプラグインを有効にすると、エディタがどれほど強力になるかを理解するのに十分です。
もちろん、ここではプログラミング部分にのみ焦点を当てています。Vimを日常のテキストエディタとして使用している方々には、Vimのテキスト編集機能を追加し、さらに優れたものにするプラグインが多数存在することを知っておくべきです。しかし、この議論は別の日にしましょう。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。