grep

こればっかりしているので速いソフトが無いか調査

The Silver Searcher

mingwでbuildするのが面倒だったのでパス

The Platinum Searcher

pt /G "\.(h|cpp|c|cc|hpp)$" class ./

正規表現でファイルパスを指定する方法がしばらくわからなかった。速度はサクラエディタ内蔵のgrepより大分速い。ファイルの文字エンコーディングがバラバラな場合に出力が文字化けする。

highway

mingwでbuildしてもWindowsだと動かなかった…。Linuxだと動いた。
cygwinだとbuild出来た。

shopt -s extglob
hw --no-group -w class ./*/*.!(bak|txt)

コマンドプロンプトだと、

hw --no-group -w class ./*/*.{h,cpp}

Pathとか通したけど、サクラエディタのファイル名を指定して実行だとちゃんと動かないな。。あとマッチする件数が微妙に少ないような。。Cで書かれてるから追えなくはなさそうだけど。

秀丸

秀丸grepは優秀でスパっと表示してくれる。こりゃあ良いわ…。
サクラエディタでも、共通設定の検索のGrepのリアルタイムで表示する、の設定を切ると速くなるけどそれはそれで不便だし。

http://hide.maruo.co.jp/software/hidemarunew/v852_1.html
秀丸は20年以上前から存在するソフトだけど、昔のまんまじゃないんだなぁ。。

MSYS2

MSYS2 installer からリンクが張られていたページを見ると
https://sourceforge.net/p/msys2/wiki/MSYS2%20installation/

pacman -Syuu

コマンドでパッケージの更新をしてくれるらしい。

開発用のパッケージのインストールについては、
http://verifiedby.me/adiary/055
に色々と書かれていた。

pacman -S base-devel
pacman -S msys2-devel
pacman -S mingw-w64-i686-toolchain
pacman -S mingw-w64-x86_64-toolchain
pacman -S vim
pacman -S mingw-w64-x86_64-boost
pacman -S openssh

emacsも入れてみたけど、窓アプリが起動して表示がボケている…。

cygtermみたいのがあるといいなと思っていたら誰かが作っていた。
https://github.com/kobachi/msys2term

MSYS2

職場の人が今はcygwinじゃなくてMSYS2使ってるよ、と話してたので少し興味が出てきて調べてみると、MSYS2の場合はgccのバージョンが新しい。
http://mingw-w64.org/doku.php/download


https://msys2.github.io/
を使ってインストールしてみたら、苦も無く入った。pacmanコマンドの引数が慣れないけど、−Ss で探して、-S でインストールみたいだ。

TortoiseGit

http://d.hatena.ne.jp/shouh/20160327/1459034326
Tortoise Git で rename 前のファイルのログを見るには、ログ画面の Walk Behaviour ボタンを押して表示されるメニューから Follow renames を選択する。

https://gitlab.com/tortoisegit/tortoisegit/issues/2326
デフォルトで有効になってくれれば良いんだけど、mergeが大変なんだろうか…。

git

Windows上でgit difftool を使うときに右側のファイルをシンボリックリンクにした方が、Diff表示中に他のアプリの編集を反映出来るし、Diffのソフトで行った変更をすぐに実ファイルに反映出来るのでテキストエディタ等の他のアプリで開いている時にも便利。
http://tech.nitoyon.com/ja/blog/2013/07/09/symlink-dir-diff-on-windows/
WindowsはSymbolicLinkを使うのに管理者権限が必要なので実行ファイルのプロパティの「管理者としてこのプログラムを実行する」にチェックを付けないといけない。同じ操作なのに何回も聞かれるのは嫌だなぁ。。でもUAC無効も危ないなぁ。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_difftool]
@="Git &Difftool Here"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_difftool\command]
@="\"cmd.exe\" /c (start /d %v. git d)"

SHA-1で特定のリビジョンで比較したい場合もあるので、Explorerの右クリックメニューでは不十分で、Git Bashは使う事になる。