ちなみに

火曜日の空は僕を押しつぶした。

gibo でいいじゃんという話

ありがたいことに昨日のエントリがそこそこブクマを集めているのだけれど、コメントで gibo を使っているという話があって、存在を知らなかったので試してみたら gibo で良かったという話。

gibo なんか日本人としては義母を連想してしまいアンニュイな気持ちになるのだけれど、gitignore boilerplates の略だそうです。

GitHub が公開している github/gitignore から任意のものを取ってきてくれる。当然複数のものをつなぎ合わせることも出来る。

出来た .gitignore は昨日紹介した .gitignore.io のものとほぼ同じなのだけれど、それもそのはず、どちらも github/gitignore から元データを取ってきている。

しかし、gibo の場合は初回にローカルに clone してくれるので速い。.gitignore.io の場合は list を取るのと実際のデータを取るのに2回も通信が発生するのでやっぱり少し遅い。これはけっこう大きな差だと思った。

使い方

MacLinuxWindows に対応している。 READMEInstallation にそれぞれインストール方法が書いてある。 お決まりの文句だけれど、Mac の場合は HomeBrew で入る。

gibo -l でリストが見れて、gibo ruby osx などで RubyOSX のものを結合したのが得られる。

コマンド 説明
gibo -l 対応している言語のリスト
gibo -u リポジトリの更新
gibo ruby osx Ruby.gitignoreOSX.gitignore を結合したものが得られる

リポジトリ$HOME/.gitignore-boilerplates/ に clone されるけれど、嫌な人は local_repo という変数を書き換えると良さそう。シェルスクリプトなのでファイルを直接書き換えればよい。

$ sed -i -e 's/local_repo=.*$/local_repo=$HOME\/.gibo/' =gibo

bashzsh の場合は補完スクリプトも公開されているので、gibo [TAB] とかで言語一覧から補完出来てべんり。

peco と合わせる

小細工が必要ないので alias で良さそう。 こんな感じのを書くと、複数言語にもそのまま対応出来る。

alias gibol='gibo -l | sed "/=/d" | tr "\t", "\n" | sed "/^$/d" | sort | peco | xargs gibo'