2012-03-18 18 views
1

私は、JanusでMacVimを使用してemacsからvimに切り替えました。 emacsでは、シェル専用のバッファを持つことができます。これはMacVimでも可能ですか?これはデバッグ時に非常に役立ちます。Vimのワークフロー - デバッグと起動端末

また、私はemacsと同様にvimでコンパイルする方法がありますか?meta-xコンパイルを入力した後、エラーをクリックしてカーソルを関連する行に移動させることができますか?

私はちょうどMacVimの良いワークフローを理解しようとしており、TerminalとMacVimを並んで並べることなくバグを修正する良い方法が必要です。すべての推奨は高く評価されます。

+1

どの言語をコンパイルしていますか? –

答えて

4

メークファイルをお持ちの場合は:makeでコンパイルできます。 VimはGCCの出力を解析し、:cnext:cpreviousでエラーにジャンプできます。私はvimがgfortranの出力を解析する方法を知っているとは思っていません。他のコンパイラでは使用していません。

バッファにシェルを開いたままにする方法がわかりません。

+0

Makefileを使わなくてもこれを実際に使うことができます。 'makeprg'と 'efm'のドキュメントを参照して、さまざまなエラーフォーマットメッセージを持つ異なるコンパイラ/ビルドシステムの使い方を見てください。ファイルタイプに基づいて異なる設定を行うことは非常に便利です。 –

1

コンパイラの出力がクイックフィックスバッファまたは位置バッファに移動する限り、エラーからソースコード内の場所に容易にジャンプできます。 Vimは、MakeとGCCの解析に合理的なデフォルトを持っています。他のフォーマットは:set efmで追加できます。

Vimの中でインタラクティブなシェルを実行すると、すぐには動作しませんが、Conqueのようなプラグインがあります。

5

のVimは、任意の端末エミュレーション自体は行いませんが、あなたはVimのウィンドウ内の端末エミュレーションを提供するために、Conque pluginを使用することができます。 Conqueには、Python対応のVimMacVimで十分です)が必要です。

しかし、ワークフローがコマンドラインツールによって報告された場所にジャンプするだけの場合は、実際にはquickfixシステム(:help quickfixを参照)を試してみるべきです。

通常、あなたは自分のコンパイラを呼び出すために:makeを実行します(通常はmakeを経て、しかしthe makeprg optionとカスタマイズ、また:compilerを参照)、およびVimのparseに任意の結果のメッセージをthe errorformat optionの値を使用してQuickFixリストを構築します。その後、

  • :cc Nのようなコマンドで報告された場所をナビゲートすることができます - 後藤場所数N、
  • :cn - 次の位置、
  • :cp - 前の場所、
  • :cnf - 次の場所次のファイルに(現在のファイルの残りの部分をスキップする)、
  • :cw - メッセージを見ることができるバッファ内のロケーションリストを開き、Enterキーを押してその場所にジャンプします。

makeprgerrorformatのデフォルト値はmakeおよび/ gccccの出力を解析するため、通常は大丈夫ですが、それは他のビルドシステムやコンパイラからのメッセージを処理するために変更が必要な場合があります。

:grepコマンドは:makegrepコマンドで報告された場所をクイックフィックスリストに入力します)と同様に機能します。

+0

「Vim *は端末エミュレーションそのものをやっていない」ということですか? – ephemient

+0

@ephemient:はい。気づいてくれてありがとう。 –

関連する問題