これまで、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)をダウンロードする必要があります。これは、ここに進むことで実行できます。
- 次に、次のディレクトリを作成します:〜/ 。
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が存在しない場合、その名前のファイルが作成されて開かれます。
この動作を無効にする場合は、 g:alternateNoDefaultAlternateを設定できます。 .vimrc の変数(ゼロ以外の値を指定) ホームディレクトリにファイルがあります。
先に進むと、ソースファイルから対応しないヘッダーファイルも参照するのはごく普通のことです。たとえば、test.cを使用していて、test.hではなく他のヘッダーファイル(mem.hなど)に切り替えたい場合は、: 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のテキスト編集機能を追加してさらに優れたものにするプラグインが多数あることを知っておく必要があります。ただし、このディスカッションは別の日に残しておきます。