2009-03-01
cygwin 1.7のgrepをWindowsのコマンドプロンプトで使用する
cygwinの1.7がテストバージョンとして公開されている。
http://cygwin.com/setup-1.7.exe
cygwinがUTF-8化するとか大文字と小文字を区別するとかで結構変わっているらしい。
grepはというとUTF-8の日本語文書がgrep出来たとか、こちらも結構変わっているそうだ。
とりあえずcygwinからでなく、Windowsのコマンドプロンプトから実行してみた。
パスを通さず cygwin1.7からgrepに必要なファイルを適当なフォルダにコピーして利用する場合に必要なファイルは次の通り。
C:/usr ├─bin │ cygiconv-2.dll │ cygintl-8.dll │ cygwin1.dll │ grep.exe │ └─etc └─fstab.d unknown
コピーするexeとdllは1.5と変わらないけど、1.7からはfstab.dも必要らしい。
fstab.dの中のファイルunknownはWindowsのユーザ名で個人ごとに違うので注意。
つまり1.5の場合は etcはいらなくて、binの中のファイルだけでかまわないという事です。
ちなみにcygintl-8.dllはgettextとか入れると入るらしいですよ。
ファイルunknownの中身自体は何もなくても問題ない感じ。
fstab.dや環境変数 CYGWIN=nodosfilewarning が無いと
Huh? No /etc/fstab file in \??\C:\cygwin1.7\etc\fstab.d\unknown? Using de fault root and cygdrive prefix...
というメッセージで出て鬱陶しい事この上ない。
ていうかHuh?って。
vim用のQFixGrepは外部grepにcygwinのgrepを推奨しているので動かなくなったりすると困るということでcygwin1.7のgrepでQFixGrepが動作するか試してみた。
今回はcygwin上のvimからではなく、Windows上のvimからcygwinのgrepを利用する場合をテスト。
vimの外部grepとしてcygwin1.7のgrepを使用する場合も同じはず。
cygwin1.7はc:/cygwin1.7にインストールしたとして、基本的には.vimrcを次のように設定してやると動作した。
let $CYGWIN='nodosfilewarning' let grepprg =c:/cygwin1.7/bin/grep\ -nH
QFixGrepの場合は以下の通り
let $CYGWIN='nodosfilewarning' let mygrepprg = 'c:/cygwin1.7/bin/grep' let MyGrep_ShellEncoding = 'cp932'
そして肝心のgrepですが、結局Sjis(cp932)の「だめ文字」も相変わらずgrepできず、QFixGrepにとっては若干面倒くさいだけでなにも変わる所が無いような……。
1.5のほうが何かと面倒がないですね。
ま、正式にリリースされるまでは色々変わると思うのですが、とりあえず書いておきます。
- 207 http://www.google.co.jp/search?q=nodosfilewarning&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
- 101 http://www.google.co.jp/url?sa=t&rct=j&q=nodosfilewarning&source=web&cd=3&ved=0CC0QFjAC&url=http://d.hatena.ne.jp/fuenor/20090301/1235908129&ei=K0CFTq-cOorhmAWQt62jDQ&usg=AFQjCNGj-Z2wadk4WTSPzv2-Z1GWnmdBnA
- 95 http://www.google.co.jp/search?hl=ja&source=hp&q=nodosfilewarning+cygwin&btnG=Google+検索&lr=&aq=f&oq=
- 73 http://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-grep
- 65 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GFRE_jaJP359JP359&q=windows+7+コマンドプロンプト grep
- 64 http://www.google.co.jp/search?q=cygwin+nodosfilewarning&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 61 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1331309495150&ved=0CD0QFjAC&url=http://d.hatena.ne.jp/fuenor/20090301/1235908129&ei=nStaT9-LLuT1mAX_s6XNDw&usg=AFQjCNGj-Z2wadk4WTSPzv2-Z1GWnmdBnA&sig2=wOuRZHTOG4ka6kpcttTA1Q
- 50 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CIUBEBYwCQ&url=http://d.hatena.ne.jp/fuenor/20090301/1235908129&ei=f-t6T8mGDsncmAWM7v3RAw&usg=AFQjCNGj-Z2wadk4WTSPzv2-Z1GWnmdBnA
- 44 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=nodosfilewarning
- 39 http://www.google.co.jp/search?hl=ja&q=nodosfilewarning&lr=lang_ja