ghq でリポジトリを管理するなら peco は必須

ghq で管理しているローカルリポジトリに移動するのを楽にするために、peco を導入することにした。

go get github.com/peco/peco/cmd/peco

でインストール。

ghq list -p | peco

ghq で管理しているローカルリポジトリインクリメンタルサーチできた。

peco で選択したリポジトリに移動したい場合は、

cd $(ghq list -p | peco)

を実行すればいい。

このコマンドを毎回入力するのはダルイので、エイリアスをつけておく。

alias g='cd $(ghq list -p | peco)'

g コマンドを実行するだけで、 ghq 管理下のローカルリポジトリを peco で選択し移動できるようになった。 便利。

ghq を使ってローカルリポジトリのディレクトリ構成を Go 準拠に移行してみた

ローカルリポジトリを $HOME/Projects 直下にすべて置いていたけど、 それをやめて、ghq を使って Go の流儀で管理することにした。

ghq は go だけでなく、git と mercurial も必要としているので、 インストールしていなければ homebrew でインストールしておく。

$ brew install git
$ brew install mercurial
$ brew install go

$HOME/src 下にリポジトリをすべて置きたいので、.zshrc で GOPATH を指定する。

export GOPATH=$HOME

ghq をインストール。先ほど設定した $HOME/src 下にインストールされる。

$ go get github.com/motemen/ghq

ghq のバイナリは $HOME/bin にあるので、呼び出せるように .zshrc で PATH に追加する。

export PATH="$HOME/bin:$PATH"

ghq でダウンロードするリポジトリを $HOME/src 下に置くために、git の設定が必要。

$ git config --global ghq.root ~/src

これで準備完了。試しに設定ファイルを管理しているリポジトリをダウンロードしてみる。

$ ghq get github.com/tnakamura/dotfiles

ダウンロードしているリポジトリの一覧を見てみる。

$ ghq list
code.google.com/p/goauth2
github.com/codegangsta/cli
github.com/daviddengcn/go-colortext
github.com/google/go-github
github.com/google/go-querystring
github.com/motemen/ghq
github.com/motemen/go-colorine
github.com/tnakamura/dotfiles
github.com/tnakamura/tnakamura.github.io

go get でダウンロードしたやつも上がってきている。

リポジトリに移動したい場合は look コマンドを使う。 試しに、先ほどダウンロードした dotfiles に移動。

$ ghq look dotfiles

これでローカルのリポジトリを go の流儀で管理できるようになった。 ただ、リポジトリの一覧から目的のものを探したり、リポジトリを移動するのが、まだ面倒。 そこらへんを解決するために、次は peco をインストールしてみようと思う。

Mac で MOV ファイルをアニメーション GIF に変換

iPhone で撮影した動画 (MOV ファイル)をアニメーション GIF に変換する Mac アプリを探したけど、 フリーで丁度良いのが見つからなかったので、ffmpeg と gifsicle を組み合わせることにした。

ffmpeg と gifsicle は Homebrew でインストールできる。

$ brew install ffmpeg
$ brew install gifsicle

ffmpeg で MOV ファイルを GIF ファイルに変換し、GIF ファイルを gifsicle でまとめてアニメーション GIF に変換。

$ ffmpeg -i input.mov -s 400x600 -pix_fmt rgb24 -r 10 -vf "transpose=1" -f gif - | gifsicle --delay=3 --optimize=3 > output.gif

homebrew-cask でインストールしたアプリを Alfred から呼び出せない

homebrew-cask を使って Alfred と、Mac アプリをいくつかインストールしたけど、Alfred からその Mac アプリを呼び出せなかった。アプリ名を入力しても一覧に上がってこない。

homebrew-cask でインストールしたアプリは ~/Applications 下にシンボリックリンクが作成される。そこで Alfred の Search Scope に ~/Applications を追加したみたけど、やっぱり表示されない。Alfred はシンボリックリンクを検索できないようだ。

homebrew-cask はアプリ本体を /opt/homebrew-cask/Caskroom 下にインストールする。Alfred にはそのパスを登録すればいい。パス登録用のサブコマンドを homebrew-cask は提供していて、

brew cask alfred link

を実行すれば OK。

MacBook にインストールしているアプリやツールをメモする代わりに Brewfile を作った

MacBook の買い替えに備えて、インストールしているアプリやツールをたまに Evernote にメモしていたけど、それをやめて Brewfile を作ることにした。

update || true

tap homebrew/versions || true
install git || true
install go || true
install mercurial || true
install rbenv || true
install ruby-build || true
install vim --devel --with-lua || true
install zsh || true

tap phinze/homebrew-cask || true
install brew-cask || true
cask install alfred || true
cask install appcleaner || true
cask install bathyscaphe || true
cask install ccleaner || true
cask install clamxav || true
cask install dash || true
cask install dropbox || true
cask install evernote || true
cask install google-chrome || true
cask install iterm2 || true
cask install onyx || true
cask install skitch || true
cask install skype || true
cask install sourcetree || true
cask install the-unarchiver || true
cask install vagrant || true
cask install virtualbox || true
cask install vlc || true

Brewfile のある場所で

brew bundle

を実行するだけで、ツールとアプリをインストールできる。Boxen はその複雑さに挫折したので、自分にはこれくらいシンプルな方が丁度いい。

rbenv で構築した Ruby 環境で Pow を使う

サブドメインがからんだ実験を行いたいけど、そのためにわざわざドメインを取得するのはお金がもったいない。そんなわけで Rack サーバーの Pow を試すことにした。

インストールは

curl get.pow.cx | sh

で一発。

あとは

cd ~/.pow
ln -s ~/Project/rails_sample_project

という風に、$HOME/.pow 下に Rails プロジェクトフォルダにシンボリックリンクを作成すれば、http://rails_sample_project.dev にブラウザでアクセスしたとき Rails アプリが起動する。

…するはずなんだけど、Bundler::GemNotFound が発生してしまった。rbenv で Ruby 2.1.0 を global に使うようにしているけど、どうも Pow はシステムの Ruby を使っているみたいだ。

Pow が rbenv を使うようにしないといけない。そのためには ~/.powconfig を作成して、

export HOME=/Users/tnakamura
export PATH="$HOME/.rbenv/shims:$HOME/.rbenv/bin:/usr/local/bin:$PATH"

を記述する。

これで OK なハズなんだけど、自分のマシン(MacBook Pro & OS X Marvericks) だとそれだけじゃダメだった。Github 上の Pow のイシューを漁っていたら、どうやらマシンを再起動しろ、というコメントを発見。試しに再起動してみたら、Pow が rbenv を使ってくれるようになった。一件落着。

Homebrew で最新の Vim をインストール

neocomplete.vim を MacVim だけでなく Vim でも使いたいけど、システムにプリインストールされている Vim のバージョンは 7.3。Homebrew で最新版をインストールすることにした。

brew install vim --devel --with-lua

を実行すると、Vim 7.4.52 が /usr/local/bin にインストールされた。でもターミナルに vim と打ち込んで起動できる Vim は 7.3 のまま…。

/usr/bin ではなく /use/local/bin を先にチェックするように、PATH の設定を .zshrc に記述。

export PATH="/usr/local/bin:$PATH"

これで Homebrew でインストールした最新の Vim が使えるようになった。