QFixGrep-update

(2019/02/04)

  • コマンドライン用コマンドを追加可能にしました。

(2017/11/28)

  • neovimの仕様変更により動作しなくなっていたのを修正しました。

(2016/09/19)

  • 不要なコマンド等を削除しました。

(2016/09/07)

  • Windows用GNU grepのUTF-8検索設定を最近のGnu grep用に変更しました。
    • Git for WindowsやMSYS2, cygwin等のgrepを設定変更なしに使用可能になります。
    • 外部grepの設定

(2016/06/21)

  • Vimのバージョンによりautochdir使用時の動作が異なるのを修正しました。
  • mygrepprgの自動設定を修正しました。

(2016/06/13)

  • ファイル/ディレクトリに $#&% 等の文字があると動作がおかしいのを修正しました。

(2016/05/29)

  • Vimのバージョンによってautochdir有効時の動作がおかしいのを修正しました。
  • grep実行後のディレクトリが変更されないようにしました。

(2014/03/03)

  • ファイルのダウンロード先をgithubに変更しました。

(2014/01/29)

  • QFixHowm/QFixGrepのウィンドウを「ロケーションリスト」に変更し、デフォルトでは「QuickFixウィンドウ」のプレビューや絞込みを無効化しました。これはQuickFixウィンドウを使う他のプラグイン等との相性問題を根本的に回避するためです。
    • QuickFix/ロケーションリスト
    • 特に問題はないので、QuickFixウィンドウでもプレビューや絞り込みを有効にするには以下を設定してください。
      • " QuickFixウィンドウでもプレビューや絞り込みを有効化
      • let QFixWin_EnableMode = 1
      • " QFixHowm/QFixGrepの結果表示にロケーションリストを使用する/しない
      • let QFix_UseLocationList = 1
      • " 以前と同じ動作(QuickFixを使用する)に戻すには以下を設定してください。
      • " QFixHowm/QFixGrepの結果表示にロケーションリストを使用する/しない
      • let QFix_UseLocationList = 0
  • android用のデフォルト設定でagrep.vimを使うようにしました。

(2013/08/25)

  • Windowsで#%&が含まれるパスやファイルで誤動作するのを修正しました。

(2013/08/01)

  • G か z にmapで独自コマンドをマップしているとプレビューが誤動作するのを修正しました。

(2013/04/19)

(2012/12/15)

(2012/08/29)

  • unixでエラーメッセージが出るのを修正しました。

(2012/08/15)

  • MyGrep_cygwin17 を追加し、Windowsで一部UTF-8文字列の検索不可を修正しました。
    • cygwin 1.7以降のgrep.exeを使用している場合のみ 1 に設定します。
      • " Windowsからcygwin1.7以降のgrep.exeを使用する場合
      • " UTF-8の一部文字列が検索不可なのを修正します。
      • let MyGrep_cygwin17 = 1
  • grep実行時のエラーメッセージを表示可能にしました。
      • " 実行時のエラーメッセージを表示
      • let MyGrep_error = 1

(2012/01/14)

  • Vim終了後も「Quickfixウィンドウの保存と読込」をデフォルトで常に有効にしました。
  • ファイルサイズが0バイトのファイルをプレビューするとエラー表示されるのを修正しました。

(2011/12/14)

(2011/12/05)

  • Windowsで cygwin 1.7等のデフォルトエンコーディングがUTF-8のgrepをデフォルト設定のままで動作するようにしました。

(2011/11/15)

  • プレビュー画面では折り返しやフォールディングを無効にしました。
  • ロケーションリストでもプレビュー表示が動作するようにしました。

(2011/10/15)

  • プレビューウィンドウの折り返し指定を追加しました。
      • " Previewウィンドウの折り返し
      • let QFix_PreviewWrap = 1

(2011/09/15)

  • jvgrepをサポートしました。
    • ファイルエンコーディングを気にせず日本語grepが行えますが、制限/注意事項がありますので必ず「jvgrep」を参照してから設定してください。

(2011/08/31)

  • Windowsでcp932のダメ文字検索の処理とメッセージを修正しました。
    • (mattnさん、ありがとうございます)
  • grep実行時のエラーメッセージを表示するようにしました。

(2011/07/28)

  • 常に再帰検索を行う「再帰検索モード」を追加しました。
            • ,rM
            • ,rD
            • ,rS
            • 検索ディレクトリモードをカレントディレクトリ/ファイル基点でトグル
            • ディレクトリ内を常に再帰検索する/しないをトグル
            • 検索するファイルエンコーディング指定

(2011/06/16)

(2011/05/17)

  • Windowsの findstr使用時に検索対象からバイナリファイルを除外していなかったのを修正しました。
    • (小西さん、ありがとうございます)

(2011/03/10)

  • | を検索するとエラーが出ることがあるのを修正しました。
  • タブ周りのウィンドウ処理を修正しました。

(2011/02/25)

  • 検索結果に異なる文字エンコーディングが混在していても可能な限り正しく表示するようにしました。
    • また内部エンコーディングが cp932の時に cp932で使用不可能な文字が含まれていても可能な限り正しく表示されるようになります。
  • プレビューウィンドウを使用するプラグインとの相性を改善しました。

(2011/02/22)

  • プレビューウィンドウを使用するプラグインとの相性を改善しました。
  • 細かい修正と QFixHowm用の拡張を行いました。

(2011/02/09)

  • プレビューウィンドウを使用するプラグインとの相性を改善しました。

(2011/01/03)

  • QFixHowm用処理のバグを修正しました。

(2011/01/01)

(2010/11/28)

  • 内部の不要なディレクトリ移動処理を削除しました。
    • 意図しないカレントディレクトリの移動や他のプラグインとの相性等が改善されます。
  • Quickfixウィンドウ保存のデータをフルパスで扱うようにしました。

(2010/10/23)

  • Quickfixウィンドウからの移動コマンド(<C-w>k等)でカウント指定が有効でなかったのを修正しました。

(2010/09/18)

(2010/08/25)

  • 指定文字列を"含まない"絞り込みでエラーが出るのを修正しました。

(2010/08/13)

  • Quickfixウィンドウのカーソル位置が保存されていなかったのを修正しました。

(2010/08/08)

  • プレビューのファイルタイプハイライト(色分け)を全ての拡張子で有効にしました。
    • これまでハイライトされていなかった拡張子とファイルタイプ名が異なる場合もハイライトされるようになります。
  • ディレクトリのファイル一覧コマンド FList を追加しました。
  • Quickfixウィンドウの保存コマンド<C-o>、<C-i> を ,w ,k A O に変更しました。
  • Quickfixウィンドウの保存で番号指定が効かないことがあるのを修正しました。
  • ,HとしてQFixGrep単体で使用している時のヘルプコマンドを追加しました。

(2010/07/11)

  • grepの実行方法を変更しました(Windows)
    • 高速化されますが、機能的な変更はありません。

(2010/07/07)

  • grep後の登録処理高速化を行い内部エンコーディングがcp932の時の動作を改善しました。
  • ハイスピー ドプレビューの動作を改善しました。
    • 「ハイスピードプレビュー」

(2010/06/05)

  • Quickfixウィンドウの <S-CR> は分割ではなく新規タブで開く設定を追加しました。
        • "Quickfixウィンドウの <S-CR> は分割ではなくタブで開く
        • let QFix_Edit = 'tab'
  • ファイル名に#%などが含まれるとプレビューが表示されなかったのを修正しました。
  • 一件もヒットしな かった絞り込み等の後でアンドゥ出来なかったのを修正しました。

(2010/05/22)

  • コマンドラインコマンドに再帰検索専用の RGrep、RFGrep、RGrepadd、RFGrepaddを追加しました。
    • それぞれ再帰検索の Grepと FGrepで、キーマップは ,re ,rf ,rE ,rF になります。
    • コマンド
    • **/* もそのまま使えます。
  • gvimのメニューバーへの登録内容をキーマップに変更して、登録場所を選択できるようにしました。
  • BGrepが動作しない事があったので修正しました。

(2010/05/06)

  • コマンドラインのGrepではファイルエンコーディングや対象ディレクトリを指定して実行できるようにしました。
  • Windowsで \\home のようなUNCパス上のファイルをgrepしようとした時はvimgrepを使用するようにしました。
  • quickfixが有効でないvimではQFixGrep/QFixHowm自体をロードしないようにしました。
  • プレビューのテンポラリファイルがhowm_dirに作成されていたのを修正しました。

(2010/04/16)

  • Windowsの外部grepのデフォルトはWindowsの標準コマンド findstrを使用するようにしました。
    • どうしても外部grepを用意できないWindows環境で使用してください。

(2010/04/13)

  • Windowsで GnuWin32 の grepを使用すると UTF-8のファイルでは検索できない文字があるようなので非推奨にしました。
  • vimgrep使用の設定の場合 / を使用するとおかしくなるのを修正しました。

(2010/02/17)

  • タブ機能と併用できるようにしました。

(2010/01/17)

  • ~/ を指定して実行している場合エラーが出るのを修正しました。
    • (Ichikawaさん、ありがとうございます)

(2010/01/15)

  • Quickfixコマンド(QFixGrep, QFixHowm, make, grep, vimgrep)以外で <C-w>, を2回実行して Quickfixウィンドウを開き直す動作を ccloseしてからcopenを実行するのと同じ動作になるように修正しました。
  • sコマンドでウィンドウの高さが変わらないようにするなどの細かい修正。

(2009/12/27)

  • 分割でファイルを開くときに、未保存のバッファウィンドウを使用するかどうかを設定できるようにしました。
    • 未保存のバッファウィンドウを使用しない設定で、未保存のバッファウィンドウが存在しない場合は画面分割して開きます。
      • "ファイルを開く時に編集中のウィンドウも使用する
      • let QFix_UseModifiedWindow = 1
  • デフォルトでQuickfixウィンドウのプレビュー表示を常に有効にしました。
    • これに伴い「ハイスピードプレビュー」のデフォルトをOFFにしました。
      • let QFix_DefaultPreview = 1
  • Windowsでは Gnu Win32の grepでも動作するようになっていたので、設定方法を追記しました。
  • Windowsの外部grepの設定
  • GNU grepのダメ文字対策として _vimrcに 以下の追加が必要です
    • let MyGrep_DamemojiReplaceReg = '.'

(2009/12/21)

  • 他のプラグインとの併用動作のための修正を行いました。
  • Quickfixウィンドウから分割でファイルを開く際に特殊バッファのウィンドウは使用しないようになります。
  • 使用するウィンドウは編集中のバッファウィンドウより未編集のバッファウィンドウが優先されます。
  • (aさん、ありがとうございます)
  • QFixHowm_Key やQFixHowm_KeyBが .vimrcで定義されていて MyGrep_Key や MyGrep_KeyBを定義していない場合はQFixHowm_Key や QFixHowm_KeyBを利用して QFixGrepのキーマップを定義するようにしました。
  • MyGrep_Keyを定義していたり、QFixGrepのみ使用されている場合は何も変わりません。

(2009/12/15)

  • QFixGrep Ver.2 をリリースしました。
    • Ver.2 の改善/機能追加/変更点については以下のページにまとめてあります。
    • QFixGrep QFixHowm Ver.2

主な改善箇所

  • ファイルオープン、画面分割の挙動などが vim本来の挙動になりました。
  • プレビューに現在編集中の状態が反映されるようになりました。
  • S コマンドでソートしてもアンドゥが使えるようになりました。
  • 「絞り込み検索」や 「Quickfixの編集中」でも Quickfixからデータを読み込んで処理するコマンドやプラグインが正常に動作するようになり、終了時に警告を出すことが無くなりました。

(2009/11/25)

  • QFixGrep単体で使用している時、BGrepでエラーが出るのを修正しました。
    • QFixHowmを使用している場合は問題有りません。

(2009/10/22)

  • Quickfixウィンドウの保存と読込」 にカウント指定を追加しました。
    • 保存、読込の際にカウント指定すると、ファイル名に指定カウントを付加したファイル名で処理します。
    • 現在の結果を保存して一時的に別の検索をしたい場合や、複数の結果を保存したい場合に使用してください。
  • ファイルを読み込むバッファウィンドウをQuickfixウィンドウに移動する直前のバッファウィンドウに固定しました。

(2009/10/03)

  • 空白を含むパスを扱う際の潜在的なバグを修正しました。

(2009/09/23)

  • Quickfixウィンドウを最大化している時、特定の操作でプレビューが無効になることがあったのを修正しました。
  • 5<C-w>. のようにカウント指定するとQuickfixウィンドウを指定サイズの高さに変更するようにしました。

(2009/09/20)

  • ファイルを開くとき、既にバッファで開かれている同名のファイルがあると、そちらを開いていたのを修正しました。

(2009/09/12)

  • コンソール版(Version が Without GUI) のvimでエラーが出るのを修正しました。
    • (鈴木さん、ありがとうございます)

(2009/09/01)

  • 検索時にカーソル位置の単語を拾う/拾わないを設定できるようにしました。
      • "QFixGrepの検索時にカーソル位置の単語を拾う/拾わない
      • let MyGrep_DefaultSearchWord = 1

(2009/08/23)

  • <C-w>o でQuickfixウィンドウも最大化出来るように修正しました。

(2009/08/20)

  • <C-w>, <C-w>.と、copen、ccloseを併用した際の動作を改善しました。

(2009/08/13)

  • ビジュアルモード選択時に、選択範囲の文字列で各種検索を有効にしました。

(2009/08/03)

  • encode設定によって文字化けするようになっていたのを修正しました。
  • :Grepコマンドでは直接 grepprg で定義されたコマンド実行するようにしました。
    • :grepの上位互換コマンドとして、各種オプションも使用できます。

(2009/08/01)

  • 編集してQuickfixウィンドウに登録されている行番号がずれた際、対応行に変更するようにしました。
    • ただし絞り込み検索時には有効になりませんので、U コマンドで初期化して下さい。
  • その他のウィンドウの挙動を改善しました。

(2009/07/21)

  • Quickfixウィンドウの保存と読込」を追加しました。
  • 「他のコマンドでQuickfixウィンドウサイズが変わる場合」を追加しました。
  • ウィンドウを垂直分割していると基準ディレクトリがおかしくなる事があるのを修正しました。
  • ウィンドウの分割と、コマンドモードからバッファ削除された場合などウィンドウ処理全般を修正し、挙動はデフォルトに準拠するようにしました。
    • (新山さん、ありがとうございます)
  • ダメ文字に余計な文字が指定されていたのを修正しました。

Quickfix上のコマンド

<C-w>.

A

<C-o>

O

<C-i>

Quickfixウィンドウへ移動

Quickfixウィンドウ上ではウィンドウ高さをデフォルトにする。

Quickfixウィンドウの保存と読込

現在のQuickfixウィンドウを保存する。

Quickfixウィンドウの保存と読込

保存されているQuickfixウィンドウを読み込む

(2009/07/03)

  • Grepadd 、FGrepadd、VGrepadd、BGrepaddを追加しました。
    • 既にQuickfixウィンドウに登録されている結果を削除せずにGrep結果を追加します。
    • コマンド
  • Quickfixウィンドウ以外では、 updatetimeの値を維持するように修正しました。

(2009/06/26)

  • 「Quickfixウィンドウとwinfixheightオプション」を追加しました。

(2009/06/24)

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

let QFix_WindowHeightMin = 10

(2009/06/23)

  • デフォルトでキーマップを定義するようにしました。
  • Project.vimのような画面分割をするプラグインとの相性を改善しました。
  • 外部grepの実行時に余計なバッファを作成しないように変更しました。
  • 拡張QuickfixとGrepの不要部分の削除と暫定処理だった部分を修正しました。

(2009/06/14)

  • 画面を分割して表示するタイプのプラグインとの相性を改善しました。
    • バッファ移動などでプレビューウィンドウが非表示化された時に、Quickfixウィンドウサイズを維持します。

(2009/06/02)

  • 環境変数 shellslash を参照している部分を全て削除しました。
  • autochdir オプションが存在しない環境でエラー表示されるのを修正しました。

(2009/05/01)

  • vimgrep使用時に、MyGrep_ExcludeRegによる対象外ファイルが引っかかった場合、エラー表示されるのを修正しました。
  • 内部エンコードが cp932で対象ファイルがcp932以外の時、MyGrep_ExcludeRegが効いていなかったのを修正しました。

(2009/04/26)

  • Quickfixウィンドウのサイズ可変モードの時、最大化し続けようとする事がある問題を修正しました。

(2009/04/23)

  • yagrepのマルチバイトオプションには問題があるようなので無効にしました。

(2009/04/21)

  • vimgrepをコマンドモードから使用した際のディレクトリ表示を修正しました。
  • yagrepのマルチバイトオプションのみ有効化しました。
    • 「ダメ文字」対策はデフォルトでは有効のままです。

(2009/04/16)

  • cp932のファイルをgrepする時、検索文字列が全てダメ文字の場合警告を出すようにしました。

(2009/04/13)

  • ファイルを開いた時に、検索レジスタの状態によりエラー表示されるのを修正しました。
  • ファイルメニューの書き換えがおかしいのを修正しました。
  • その他、vimの設定に依存する部分を修正しました。

(2009/04/09)

  • Quickfixウィンドウの高さ制限とサイズ固定モードを追加しました。
    • vimのウィンドウサイズから QFix_HeightMaxを引いた値が Quickfixウィンドウの最大値になります。
      • "Quickfixウィンドウの高さの最大値。
      • "vimのウィンドウサイズからQFix_HeightMaxを引いた値がQuickfixウィンドウの最大値になる。
      • let QFix_HeightMax = 0
    • 次のようにすると最大でもvimのウィンドウサイズからプレビューウィンドウの高さを引いたサイズにしかなりません。
      • let QFix_HeightMax = &previewheight
  • QFix_HeightFixMode を1に設定すると Quickfixウィンドウのサイズが QFix_Heightに固定されます。
      • "QuickfixウィンドウサイズをQFix_Heightに固定する/しない。
      • let QFix_HeightFixMode = 0

(2009/04/08)

  • autochdir以外で、ディレクトリを変更しているときファイル名を取得できない事があるのを修正しました。

(2009/04/06)

  • FGrepの無駄なエスケープ処理を削除しました。

(2009/04/04)

  • 再起動しなくても MyGrep_Damemoji の変更を反映するようにしました。

(2009/04/01)

  • gvimのメニューのファイル(F)に閉じるメニューが重複していたのを修正
  • ファイル(F)メニューからの呼び出しがAltClose()前提だったのを修正

(2009/03/30)

  • 「ダメ文字対策」のデフォルト値を2 (ほぼ全てのダメ文字)に変更しました。
  • yagrep使用時にも「ダメ文字対策」を有効にしました。

cygwin/GNU grepの「ダメ文字」対策

(2009/03/28)

Modifiableモードでファイル名の後に空白を書き込むと操作不能になるのを修正

(2009/03/23)

txt のファイルタイプを勝手に設定しないように変更

(2009/03/20)

ソートの種類を増やした

1.5 拡張Quickfixウィンドウの操作 にソートの種類について追記

(2009/03/16)

リトルエンディアンのファイルは常にvimgrepで検索するように修正。

(2009/03/14)

Quickfixウィンドウ以外にバッファが一つしかない状態で、<C-w>oを実行したときはQuickfixウィンドウを閉じるようにした。

BGrepでキャンセルしたとき、カーソルが移動するバグを修正。

(2009/03/12)

BGrepでキャンセルしたとき、カーソルが移動するバグを修正。

(2009/03/09)

ファィルの開き方の指定を変更

<S-CR> : <CR>とは逆のファイル分割方法でファイルを開く

<C-CR> : ファイルを開いてから、指定行に移動しないで最後の編集場所へ移動

yagrepのエラー表示を抑制

(2009/03/09)

ソース内のドキュメントを修正

(2009/03/08)

暫定的な安定版としてリリース。

以降は基本的にバグフィックスのみで、機能追加については開発版で行います。

(2009/03/06)

内部エンコードがcp932の場合外部grepで動かなくなっていたのを修正。

ファイルを画面分割して開く/開かないのオプションを追加。

<C-w>. でQuickfixウィンドウへ移動するようにした。

<C-w>, でQuickfixウィンドウON/OFFするようにした。

(2009/03/04)

vimgrepで検索結果0の時エラー表示されていたのを抑制

拡張Quickfixのリファクタリング

ファイルを分割で開くオプションを追加

プレビュートグルキーを i に変更

(2009/03/01)

QFixHowm専用の特殊処理を追加

(2009/02/14)

unixのみ基準ディレクトリに空白を含むpathを扱えない場合があったのを修正

(2009/01/30)

myqfix.vim

QFixを一時的に無効化するコマンドDisableQFixWinを追加

mygrep.vim

cp932の時に拡張子でQuickfixから破棄された不要なバッファを削除するようにした。