ghq と peco を使い始めた
今更ながら ghq と peco を使い始めた。
きっかけは以下の記事。
これまでは ~/ruby
や ~/go
のようにホームディレクトリ以下で管理していたローカルリポジトリを、すべて ghq
を使って ~/.ghq
以下で管理することにした。
ghq get
は -p
をつけないと SSH で clone してくれないので、設定ファイルにデフォルトで SSH プロトコルを選択する PR を作ろうかと思ったが、Git の url.<url>.pushInsteadOf
, url.<url>.insteadOf
で置き換えられることがわかったので、その問題は解決された。
参考: ghq 最近の変更とこれから - 詩と創作・思索のひろば
[url "git@github.com:"] pushInsteadOf = https://github.com insteadOf = https://github.com
ghq の導入だけだと改善した感がなかったので、一緒に紹介されている peco も導入した。これがすごかった。
リポジトリ
とりあえず Mac 環境では .zshrc
に以下を追加して半日、既に以前の状態に戻れる気がしない。
alias repo='ghq list -p | peco' function editrepo() { local r r=$(repo) if [ -z "$r" ]; then return fi cd ${r} && atom ${r} }
repo
コマンドで ghq
で管理しているリポジトリのパスを選択して出力できる。本題は editrepo
の方で、こちらは ghq
で管理しているリポジトリのルートへ移動し、Atom で開く。これまで zsh の補完と履歴と手癖でこの辺の作業をなんとかこなしていた、スムーズかつ間違えにくくなった。
peco
はまだまだユースケースがありそうなので、思いつき次第 .zshrc
に追記していきたいところ。