読者です 読者をやめる 読者になる 読者になる

mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

Using grep at Vim

背景 Background

Windowsで開発してた時は某エディタに備わってたgrepで検索し、
今はターミナルの別タブでコマンドベースでgrepしているような状態です。
Vimにも大分慣れてきたので、Vim上で検索出来るようにしたいと思います。
最近では、ackagなどが人気で、grepが斜陽気味な印象を受けましたが、
GNU Projectが2014年02月17日に"grep2.17"を出した模様です。パフォーマンスは「10倍の高速化」という事で期待が持てます。
実績なども視野に入れて今回はgrepを使いVim上で検索できるようにしたいと思います。

目標 Goal

環境 Environment

手順 Operation

grep-2.18のインストールが依存ファイルの関係でうまくいきませんでした。
まぁ、バージョンの古いgrepが入っているのでとりあえず、よしとします。

$ brew search grep
$ brew info grep
$ brew info pcre

$ brew install grep --default-names
$ which grep
/usr/local/bin/grep
$ grep --version
grep (GNU grep) 2.18
  • QFixGrep インストール
$ cd
$ mkdir .vim/qfixapp
$ wget https://sites.google.com/site/fudist/files/qfixgrep.zip?attredirects=0 -O /tmp/qfixgrep.zip
$ unzip /tmp/qfixgrep.zip -d .vim/
  • .vimrcの設定

setting Vimgrep at .vimrc

感想

想定道理の動きをしてくれて申し分ない感じです。
残念な点としてはgrep実行した後にVimを閉じるとgrepの結果がターミナル上に
表示されている事です。
これは標準出力させないとQFixGrep上にも出力されないことから、
標準出力結果をQFixGrepが取得して画面に表示していることが予想されます。
ターミナルに表示させずに、QFixGrepのみに表示する方法はとりあえず放置です。
また、プロジェク卜のルートディレクトリの取得方法について、調べないとなぁとtwitterでつぶやいた所、 @manga_osyoさんから取得方法を教えて頂きました。

とても助かりました。ありがとうございます。

参考サイト Reference