fudist

QFixGrep

プレビュー&絞り込み検索付きvim/gvim用日本語対応grepプラグイン 

QFixGrep - vim用grepヘルパー | インストール | 使い方と操作一覧 | オプション | Shift_JIS(cp932)の「ダメ文字」トラブルシューティング

QFixGrepを使用しない vimとgvimの 「grepの設定と使い方」

QFixGrepを使用しないで cygwin や GNU grepなどの外部grepを扱う場合
vimのgrepの設定と使い方
0x5c, 0x7c 等の「だめ文字」について
Shift JISの「ダメ文字」


これは何?

vim/gvim用のプレビュー&絞り込み検索(and検索)付きのgrepプラグインです。

固定文字列検索、再帰grep、現在開いているバッファのみ対象のGrepや、Quickfixウィンドウ上で絞り込み検索してからのジャンプも可能になります。
内部grep(vimgrep)はもちろん、外部grepを使用の際にもutf-8,euc-jp,cp932の日本語(全角文字) grep/検索が可能です。
外部grepでうまく日本語が扱えない場合、特にutf-8化したWindowsの外部grepを使用したい場合にも有用です。(「外部grepの問題点」)
また、cp932(Shift_JIS)における ー ソ 表 などの「ダメ文字」にも対処がなされています。
Windowsの場合はcygwin grep, GNU grep, yagrep,が使用できます。

vim/gvim version 7.0以降対応で、日本語を扱える(iconvが使用できる)ことが前提です。
動作確認は主にWindowsのgvimを使用して行っています。
Linux(Ubuntu)やコンソール版での動作確認も行っていますが、全ての環境での動作を保証するものではありません。

(スクリーンショット)



左は”silent”をgrepで検索した後、"exec"で絞り込みをしている画面です。
結果として、"silent"と"exec"が含まれている行のみ表示されています。
中央に表示されているのがプレビュー画面で、現在Quickfixウィンドウで選択されている行がハイライトされています。
右は"ポータル"を検索した画面で、再帰検索や日本語、空白を含むパスを扱っているところです。

インストール

QFixGrep - インストール」にまとめました。

ダウンロード

リリース版
qfixgrep.zip

更新履歴


(2009/11/25)
  • QFixGrep単体で使用している時、BGrepでエラーが出るのを修正しました。
    QFixHowmを使用している場合は問題有りません。
(2009/10/22)
  • Quickfixウィンドウの保存と読込」 にカウント指定を追加しました。
    保存、読込の際にカウント指定すると、ファイル名に指定カウントを付加したファイル名で処理します。
    現在の結果を保存して一時的に別の検索をしたい場合や、複数の結果を保存したい場合に使用してください。
  • ファイルを読み込むバッファウィンドウをQuickfixウィンドウに移動する直前のバッファウィンドウに固定しました。

不具合と思わしき動作や、本サイトの記述と実際の動作が異なる場合は、お手数ですが「連絡先」までご連絡下さい。


テスト版 (----)

使い方

使い方と操作一覧」にまとめました。

オプション設定

QFixGrep - オプション」にまとめました。
  1. 拡張Quickfixウィンドウのオプション
    ウィンドウの高さや色設定など、表示関係のオプション一覧です。
  2. QFixGrepのオプション
    QFixGrepの検索部分の設定に関するオプション一覧です。
  3. grepの対象にしたくないファイル名の正規表現
    内部grep(vimgrep)、外部grep共通のオプションで、実行ファイルなどQFixGrepの対象外にしたい場合に設定します。
  4. 使用するgrepの設定
    外部grepの設定についての詳細な説明です。
  5. cygwin/GNU grepの「ダメ文字」対策
    cp932(Shift_JIS)のファイルには、外部grepで検索できない「だめ文字」が存在します。
    これに対してQFixGrepで実装されている「ダメ文字」対策の設定と注意事項です。

困った時は

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


    トラブルシューティング

    設定に正規表現に使用する文字や空白を含むパスなどを使用している場合は、動作に問題が出る場合があります。
    特に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



    QFixGrep - 使い方と操作一覧」 へ移動する

    QFixGrep - vim用grepヘルパー | インストール | 使い方と操作一覧 | オプション | Shift_JIS(cp932)の「ダメ文字」トラブルシューティング