fudist

QFixGrep - トラブルシューティング


このページは「QFixGrep - プレビュー&絞り込み検索付きvim用日本語grepプラグイン」使用時における問題解決のためのページです。

困った時は

QFixGrepの動作がおかしいと思われる場合は、お手数ですが「連絡先」までご連絡ください。

終了しようとすると 「変更を"無題"に保存しますか?」 のメッセージが出る

 Quickfixウィンドウに絞り込みを行っていて画面に表示されている時にvimを終了しようとした時
 「変更を"無題"に保存しますか?」
というメッセージが出ることがあります。
これは絞り込み中のQuickfixバッファは編集中と見なされるためです。
'n'を選ぶか、Quickfixウィンドウを閉じてから終了するか、'U'コマンドで絞り込みを初期状態に戻してから終了するかのいずれかを選択します。

<目次へ>


Quickfixの表示がおかしい

基本的に画面がおかしいと思ったら、アンドゥ(特にU)してください。
例えば絞り込み中に拡張Quickfixに対応していないgrep等(helpgrep等)が実行されると、画面は絞り込み中の物が表示され続けることがあります。

<目次へ>


Quickfixウィンドウから開かれる分割ウィンドウの最小高さ

ファイルを分割で開いたときの最小ウィンドウ高さを指定可能にしました。
0なら全てのウィンドウサイズを同じ高さにします(デフォルト)
ウィンドウを水平分割するタイプのプラグインを使用するなら、高さを指定すると相性が改善される事があります。
let QFix_WindowHeightMin = 10
<目次へ>


Quickfixウィンドウとwinfixheightオプション

QuickfixウィンドウはQFixGrepの設定とは別に、デフォルトで高さ固定に設定されています。
この設定は:set winfixheigt? で確認できます。
Quickfixウィンドウ上で :edit や :bnext、:bprev で別のファイルを編集すると、この属性が継承されるため、<C-w>=などウィンドウサイズ変更関係のコマンドを実行すると思ったような結果にならないことがあります。
通常はさほど問題にならないのですが、QFixGrepではプレビューウィンドウの関係でこれが問題になる場合があります。
これはQFixGrepを使用しない状態でも起こります。

これを回避するために、以下の正規表現に該当するバッファに関しては nowinfixheightを設定しています。
デフォルトでは拡張子を持ったファイルとvimrc関係が該当します。
let QFix_nowinfixReg = '\.[0-9a-zA-Z_~]\+$\|vimrc$'
何らかの理由で、通常のファイルにwinfixheigtを設定する必要がある場合は適当に変更してください。
基本的には Quickfixウィンドウ上にカーソルがない状態でファイル読込やバッファ移動をすれば問題有りません。

<目次へ>


他のコマンドでQuickfixウィンドウサイズが変わる場合

たとえば mru.vimなら以下を.vimrcへ追加します。
mruを起動してから、他のバッファに移動すると、Quickfixウィンドウサイズをデフォルトに変更します。
QFixBufEnterResize(1)なら、デフォルトサイズに変更されます。
let MRU_Resize = 0
au BufWinEnter __MRU_Files__ let MRU_Resize =
1
au BufEnter * if exists('g:loaded_MyQFix')|call QFixBufEnterResize(MRU_Resize)|let MRU_Resize = 0|endif
__MRU_Files__の部分はコマンドのタイトルによって変更してください。
このmru.vim対策はデフォルトで組み込まれています。
<C-w>. を使用すると手動でサイズをデフォルトに戻せます。

<目次へ>



その他

設定に正規表現に使用する文字や空白を含むパスなどを使用している場合は、動作に問題が出る場合があります。
特にWindowsの場合は、shellslash を設定してやるとパスに関わる問題が解消される事があります。
set shellslash
拡張Quickfixの動作(プレビューや絞り込み検索)が不要の場合、以下を .vimrcに追加して下さい。
拡張Quickfix("myqfix.vim")が無くてもgrepは動作します。
"拡張Quickfixを無効にする。
let disable_MyQFix = 1

本サイトで公開しているvim用howmであるQFixHowmはQFixGrepを使用しています。
QFixHowmを使用して、プレビューや絞り込み等が不要の場合は以下を設定して下さい。。
"拡張Quickfixを無効にする。
let disable_MyQFix = 2

index