web-dev-qa-db-ja.com

Syntasticでエラーウィンドウだけを閉じる

Janus経由で(Mac)Vim Syntasticプラグインをインストールしました。 :Errorsウィンドウを開いて構文エラーの理由を表示すると、エラーのあるファイルが1行に縮小され、残りの領域が[エラー]ウィンドウに使用されます。

エラーが発生する余地を少なくする方法はありますか?さらに重要なことに、どうすればjustエラーウィンドウを閉じることができますか?通常の:qは、カーソルが[エラー]ウィンドウ内にある場合でも、[エラー]ウィンドウと元のファイルの両方を閉じます。 (これは100%正しくありません-ファイルがまだ保存されていない場合、ありがたいことにファイルを閉じません)。

29
Dave

Syntasticはlocation listquickfix listのウィンドウローカルバリアント)を使用するため、:lcloseはそれを閉じますが、他のバッファは保持します。

syntasticのヘルプページ に従って、初期の高さを構成できます。

:let g:syntastic_loc_list_height=5

しかし、私はあなたの煩わしいJanusディストリビューションがそれに関与していると思います。 spf-1JanusのようなVimの「ディストリビューション」は、クイックインストールとすぐに使える設定であなたを魅了しますが、複雑さを増して価格を支払います(理解する必要があります) Vimの実行時ロードスキームと配布の任意の規則)と柔軟性(配布によって、いくつかのことは簡単になるかもしれませんが、他のことは非常に難しいかもしれません)。 Vimは信じられないほどカスタマイズ可能です。他の誰かのカスタマイズを使用しても意味がありません。

40
Ingo Karkat

Syntasticエラーウィンドウを閉じるコマンドは次のとおりです。

:SyntasticReset
20
PokerFace

1つの画面で複数のバッファをジャグリングすると、Syntasticが混乱するため、状況に関する情報を収集して適切な処理を行うスクリプトを次に示します。

function JustCloseSyntasticWindow()
    "Check which buffer we are in, and if not, return to the main one:
    if &ft == "qf"
        normal ZZ
    endif
    "Since different buffers have different command spaces, check if we've
    "escaped the other buffer and then tell syntastic to stop.
    if &ft != "qf"
       SyntasticReset
       " --- or ----
       SyntasticToggleMode
    endif
endfunction

au FileType buffer1_ft nnoremap :yourcmd<CR>:call JustCloseSyntasticWindow()<cr>

au FileType main_win_ft nnoremap :yourcmd<CR>:call JustCloseSyntasticWindow()<cr>

この仕事のためにダクトテープを恥ずかしがらないでください。それがユニットをまとめる唯一のものです。

2
Eric Leschinski

:lcloseを使用して閉じることができます。

0
reddy nishanth