windowsのgvimからcygwinのgrepやzshを使う

vimから:grepで検索したときに、cygwinのgrepを使って検索するように以下を設定した。

set grepprg=grep\ -nH

これで、vimから正規表現含みでgrepできるようになった。


と思っていたら、findstr(windows付属のコマンド)でも正規表現できたみたいでした。

C:\> findstr /?
(略)
正規表現クイック リファレンス:
.            ワイルドカード: 任意の文字
*            繰り返し: ゼロ個以上の直前の文字またはクラス
^            行位置: 行頭
$            行位置: 行末
[class]      文字クラス: セットの任意の 1 文字
[^class]     逆クラス: セット以外の任意の 1 文字
[x-y]        範囲: 指定した範囲の任意の文字
\x           エスケープ: メタ文字 x のリテラル使用
\<xyz        単語位置: 単語の先頭
xyz\>        単語位置: 単語の終わり
FINDSTR の詳細な正規表現に関しては、オンライン ヘルプのコマンド リファレンスを
参照してください。

でも慣れてるgrepの方がいい。


ついでに、外部コマンド呼出し時のshellも変更した。

set shell=c:\\cygwin\\bin\\zsh

これで、zshの機能が使えるようになったので、vimの中で

:r!echo {1..10}

とやると

1 2 3 4 5 6 7 8 9 10

が挿入されるようになった。他に有意義なzshの利用方法って何があるだろう?

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.