web-dev-qa-db-ja.com

Vimを使用したC ++プログラムのコンパイルと実行

私はこれが本当にばかげているように聞こえることを知っていますが、私はVimエディターでC++コードを書いたので、私の一生の間、それをコンパイルして実行する方法を理解できません。私はこれが非常に単純であることを知っています-私はあまりにも長い間目を覚ましていました:-/助けてくれてありがとう!

7
hhoward

vimと入力するだけです。

:wq

次に、コマンドラインでcompilerを呼び出します。これはvimではなくg++またはclang++または次のようなもの:

g++ -o myCode myCode.cpp

編集:すべての投票者は、vimユーザーズマニュアルのセクション21を読んでください。 :help user-manualそこに着きます。彼が基本的にvimでコンパイルするのはクールだと言っているところOR保存して終了し、コンパイルしてから戻ってくる。セクションのタイトルから、Bramは後者を好むと思う。彼は間違いなく作成した。 vimは、後で最も優れた方法で処理します。任意のファイルに「戻る」と、カーソルが同じ行と列にあるので、以前と同じように元に戻したりやり直したりできます。すべての履歴、検索、登録、その他すべて基本的には去った時と何の違いもありません!

再編集:投票者を失ったすべての人に-ピープスは非常に多くの異なる理由で非常に多くの異なる方法でvimを使用します。私はいつもシェルレベルで多くのことをしているので、vimに継続的に留まるのは痛々しいほどばかげています。あなたの反対票は明らかに、あなたが編集者の中にとどまるのに良い全く異なる状況で働いています。すべての覗き見があなたと同じように機能すると考えるのはやめてください。

3
Paul Evans

:makeは確かに Jonsaid のように進む方法です。

GnumakeがインストールされているLinuxのような(cygwinにも適用されますが、Windowsのmingwには適用されません)システムで、プロジェクトにMakefileがなく、プロジェクトが1つのファイルのみで構成されている場合は、:makeと入力します。 。それで十分です(コンパイルオプションを調整するには、$CXXFLAGS$CFLAGS、および$LDFLAGSで遊ぶことができます)。次に、プログラムを実行するには、:!./%<(IIRC)と入力します。

プロジェクトが複数のファイルで構成されている場合は、:makeを利用するためにMakefileが必要になります。

CMakeを使用してプロジェクトを管理し、ソースツリーの外部のディレクトリ(またはいくつか->デバッグ、リリースなど)でプロジェクトをコンパイルする場合、統合にはプラグインが必要になります。 AFAIK、そのようなプラグインを提案するのは私だけです: BuildToolsWrapper CMakeの管理を統合します(ビルドディレクトリの選択、デバッグ、リリース、または任意のビルドディレクトリから選択する可能性)。 local_vimrc プラグインの1つと組み合わせる必要があります。

すべての場合において、:!g++ -o %< %または15年前にviで行っていたものを使用して、Vimの内部(または外部)からコンパイラーを直接呼び出します。 Vimには素晴らしい機能があります。コンパイラを統合できます(IDEのように)。 :h quickfixを参照してください。エディターから直接エラー間を移動するのは、目で1つのエラー行を抽出し、エディターに行番号を入力し、シェルに戻って正確に拒否されたものを確認するよりもはるかに簡単です... Cでは十分かもしれません。しかし、C++では、「存在しないオーバーロードを呼び出そうとしている」場合、この方法で作業することはできません(エディターとシェルを切り替える)。

30
Luc Hermitte

これは、ソフトウェアの構築方法によって異なります。 makeを使用している場合は、vimプロンプトに:makeと入力できます。 :h makeと入力して、コード内のエラーを循環させるオプションとサポートコマンドを確認します。

5
Jon