2009-07-06 9 views
19

私は最近:makeを使って実験しようとしていますが、vimがシェル出力を最初に表示して入力する必要があるのは嫌ですkeypressを入力すると、'errorformat'に基づいて収集されたエラーのリストであると思われるものが表示され、Enterキーを押して確認する必要があります。 keypressによる確認を必要としない短い "OK"メッセージ、またはエラーがあればvimが:cwindowを開くようにすることをお勧めします。シェルを表示せずにlinuxでvimを作ってもいいですか?

+1

あなたの質問は[Running:gVimをバックグラウンドで作成](http://stackoverflow.com/questions/666453/running-make-from-gvim-in-background/666578#666578)の複製です。 –

+0

この質問は明らかに、** foreground **で 'make'を実行し、' make'の後に見つけられた最初のエラーに直接ジャンプします。 – Tino

答えて

1

試してみてください。

:silent make 

自動的にmakeを実行した後、あなたは.vimrcにこれを置くことができるのQuickFixウィンドウを開くには:

autocmd QuickFixCmdPost * :copen 
+3

私はすでに試したことがあります:サイレントメイクですが、vimのウィンドウを完全に黒くするだけです(vimのコマンドラインとlaststatusはまだ表示されています)だから私は:makeを呼び出して、バッファをウィンドウに再び表示させる必要があります。 – Sam

2

あなたが小さなためのgccを使用するたとえばF9をマッピングすることができますライブラリ、リンクなどを必要としないCスニペット:

map <F9> :!gcc -o %< % <enter><CR><C-w> 

これはファイルfoo.cに対してバイナリfooを生成します。私はそれがあなたが望むものではないことを知っていますが、これはシェルを表示せず、小さなcのスニペットにも役立ちます。

-3

は、おそらくあなたの問題を解決する必要があり

map <F9> :make<CR> 

これを試してみてください。私はちょうどあなたが書いた正確な目的のために次の行を使用してい

+0

私のために働かない。メイクは走りますが、静かではありません。 :-( –

12

:このような場合には

nnoremap <leader>m :silent make\|redraw!\|cc<CR> 

ccを最終的には、最初のエラーやNo errorsメッセージが表示されます。

+2

素晴らしいアイデア!しかし、私は最初のエラーの場所に自動的に移動するのではなく、エラーが発生した場合にのみクイックフィックスのウィンドウが表示されるので、 'make!\ | redraw!\ | cw ' – joelpet

関連する問題