Vimがすぐに使える有能なプログラミングエディタであることは間違いありませんが、Vimを最大限に活用するのに役立つのはエディタのプラグインです。この一連の記事の最初のパートでは、プログラミング関連のVimプラグイン(TagbarとdelimitMate)について説明しました。同じ道を進み、この記事では、ソフトウェア開発者を対象とした別の便利なVimプラグイン( Syntastic )について説明します。 。
このチュートリアルで説明されているすべての例、コマンド、および手順はUbuntu 16.04でテストされており、使用したVimのバージョンは7.4であることに注意してください。
シンタスティック
ソフトウェア開発作業にCやC++などの言語での作業が含まれる場合、コンパイル時エラーの解決が日常業務の一部になることは言うまでもありません。多くの場合、ソースコードで使用されている構文が正しくないためにコンパイルエラーが発生します。これは、開発者がコードを見ているだけでは構文を観察できないためです。
コードをコンパイルせずに構文エラーに関する情報を提供するVimプラグインが存在すると言ったらどうなりますか?はい、そのようなプラグインは存在し、その名前はSyntasticです。
「SyntasticはVimの構文チェックプラグインで、外部の構文チェッカーを介してファイルを実行し、結果として生じるエラーをユーザーに表示します。これはオンデマンドで実行することも、ファイルの保存時に自動的に実行することもできます」とプラグインの公式ドキュメントは述べています。 「構文エラーが検出された場合、ユーザーは通知を受け、コードをコンパイルしたりスクリプトを実行したりする必要がなかったため、満足しています。」
このプラグインのインストールは、最初の部分で説明したプラグインのインストール方法と似ています。必要なのは、次のコマンドを実行することだけです。
cd ~/.vim/bundle/
git clone https://github.com/scrooloose/syntastic.git
プラグインが正常にインストールされると(上記のコマンドが成功することを意味します)、他に何もする必要はありません。Vimエディターが起動すると自動的にロードされます。
プラグインを使用するには、ソースコードファイルを開き、:wを使用して保存します。 Vimコマンド。非常に短い一時停止の後、コード内の構文エラー(存在する場合)が強調表示されることがわかります。たとえば、次のスクリーンショットは、プラグインがエラーを強調表示する方法についてのアイデアを提供するはずです。
行の先頭にある「>>」記号は、その行に記述されているコードに問題があることを示しています。エラーが正確に何であるかを知るため、または少なくともそれについて大まかな考えを得るには、カーソルをその行に移動します-エラーの説明はVimウィンドウの下部に表示されます。
したがって、このようにして、コードをコンパイルすることなく、構文関連のエラーのほとんどを解決できます。
次に進みます。:エラーを実行すると、 コマンドを実行すると、現在のソースファイル内のすべての構文関連エラーの説明が表示されます。たとえば、:Errorsを実行します 私の場合、コマンドは次の情報を表示しました:
:エラーの情報に注意してください コマンドの表示は自動更新されません。つまり、エラーが解決された後でも、:Errors を実行するまで、その説明は下部に表示されます。 もう一度コマンドします。
Syntasticをさらにユーザーフレンドリーにする多くの構成オプションがあることは言及する価値があります。たとえば、次の行を .vimrcに配置できます。 :Errorsが必要な場合はファイル エラーが解決されるたびに出力を自動的に更新するコマンド:
let g:syntastic_always_populate_loc_list = 1
デフォルトのSyntasticの動作に関するもう1つの大きな制限は、:wを実行する必要があることです。 プラグインに誤った行を表示させるためのコマンド-これはファイルの編集中は問題ありませんが、ソースファイルを開いたばかりの場合は少し奇妙になります。
ファイルを開いたときにSyntasticがエラーを自動的に強調表示するようにするには、 .vimrcに次の行を追加します。 ファイル:
let g:syntastic_check_on_open = 1
同様に、ファイルを保存または開くときに最初に検出された問題にカーソルをジャンプさせたい場合は、.vimrcファイルに次の行を入力します。
let g:syntastic_auto_jump = 1
前述の変数に割り当てることができる他の2つの値があります:2と3。これらの2つの値について公式ドキュメントに記載されている内容は次のとおりです。
「2に設定すると、カーソルは最初に検出された問題にジャンプしますが、この問題がエラーである場合に限ります」および「3に設定すると、カーソルは最初に検出されたエラーにジャンプします。検出されたすべての問題が警告である場合、カーソルはジャンプしません。」
次の情報も役立つはずです:
「:SyntasticCheckを使用してください エラーを手動で確認するには」「:エラーを使用」 ロケーションリストウィンドウを開き、:lclose それを閉じます。エラーリストは:SyntasticResetでクリアできます 、および:SyntasticToggleModeを使用できます アクティブ(バッファの書き込みチェック)とパッシブ(手動)チェックを切り替えます。 "
注 :Syntasticは、CおよびC++で記述されたコードだけに限定されません。他のプログラミング言語の膨大なリストもサポートしています。詳細については、こちらをご覧ください。
結論
間違いなく、Syntasticは非常に便利なVimプラグインです。構文関連のエラーに関しては、少なくとも頻繁にコンパイルする手間を省くことができます。そして言うまでもなく、あなたの時間の多くも節約されます。
お気づきのように、Syntasticの主要なオプションのいくつかを構成すると、Syntasticはさらに便利になります。これを使い始めるのに役立つように、公式ドキュメントには「推奨設定」セクションが含まれています-それを実行してください。エラーが発生したり、疑問や質問があったりした場合に備えて、よくある質問のセクションもあります。