GitBash For Windows で man コマンドを使いたい

Windows の GitBash (msysGit) には man コマンドがない。毎回「そんなコマンドねえよ」と怒られるのは悲しいので、何かしら表示させるようにしたい。

先に結論から。以下の手順で、英語だけどこれで読める感じだ。

  1. wget.exe をダウンロードする
  2. man.sh をコピペして拡張子なしの「man」というファイルを作る
  3. 2ファイルを C:\Program Files\Git\usr\bin\ 配下に置く
  4. 2ファイルのアクセス権を、Users に対してフルコントロールを与える

細かく説明する。

1. wget をダウンロードする

MinGW プロジェクトが提供している wget-1.9.1-mingwPORT.tar.bz2 を以下からダウンロードする。

7-Zip などでファイルを解凍し、中に入っている wget.exe を取り出す。

2. man.sh をコピペして拡張子なしの「man」というファイルを作る

以下の Gist に公開されている「man.sh」というコードをテキストエディタにコピペし、「man」という拡張子なしのファイルを作る。GitBash は拡張子なしのファイルをシェルコマンドとして扱うっぽい。

仕組みとしては man コマンドの内容を公開しているウェブサイトの該当ページを wget コマンドで取得して表示している様子。

3. 2ファイルを C:\Program Files\Git\usr\bin\ 配下に置く

これは要は、GitBash の PATH が通っているところに wgetman のコマンドファイルを置くということだ。自分の環境では他の GitBash コマンドが置いてある C:\Program Files\Git\usr\bin\ を選んだというワケ。

4. 2ファイルのアクセス権を、Users に対してフルコントロールを与える

格納したコマンドファイルをコマンドとして実行するためには、ファイルにアクセス権を与えないといけない。

Program Files 配下だと管理者権限が必要になるっぽくて、GitBash 上から chmod 755 man みたいなことをしたいのだが、chmod: changing permissions of 'man': Permission denied と表示されてしまった。

そこで、エクスプローラから格納したファイルを右クリック → ファイルのプロパティで「セキュリティ」タブ → 「編集」ボタン → 「Users」を選択して「アクセス許可」欄から「許可 : フルコントロール」をチェック、とすることで実行できるようにした。

これで man コマンドがとりあえず動作した…が

ここまで終わったら、GitBash を開いて man ls などとすると動作確認はできたのだが、wget でアクセスしたサイトの HTML を全て表示してしまい、<html> だとかタグも丸見えになってしまっている。肝心の内容はサイト上で pre 要素で書かれているので、本文が読めないことはないのだが、頭とお尻の10数行に出力される HTML ソースが不要でうざったい。

とりあえず見えるからいいんだけどさ…。

などと言いつつ、ホントは日本語で表示とかもしたかったので、もっと良い方法がないか探してみる。