ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

ghq + peco on fishデビューしました

ghq使ってないとか人生損してるということを年末年始に某ブログで言われていたので入れてたの思い出して、入れてみたら思ったより便利だったのでgoの調査するにあたって全部goのディレクトリ構成に移した。

何ができるようになったのか

ghqとpecoを組みあわせると何ができるようになるのかとかは別のブログでもあるので、雑に言うとghqで管理しているリポジトリをpecoで絞り込んでそのディレクトリにビュンと移動できる

導入に当たって苦労したこと

ghqはgoのリポジトリ管理のディレクトリ構造でgithubからいい感じにプロジェクトをcloneしてくれる

そもそもプロジェクトを全部~/developにプロジェクト名でディレクトリ作るっていうgoの階層が浅くなっただけみたいな雑な管理をしていたので特に苦労しなかった。
結局~/developGOPATHに設定して、$GOPATH/src/localに元々あったローカルにだけあるコード群をmvした

唯一ちょっと躓いた点としてはghqとpecoを組み合わせて使用する関数の定義がよくわからなかった。最終的に以下の感じで設定した。

function repo_peco
  ghq list | peco | read select_dir

  if [ $select_dir ]
    cd (ghq root)/$select_dir
  else
    echo "Not selected project"
  end
end

導入後

ショートカットキーをbindしたのでショートカットを押せばpecoが起動して、選んだプロジェクトにcdできる

f:id:yuzu441:20190129162144p:plain

(決定するとghqをcloneしたディレクトリに移動する)

割と便利だけどghq listで出てくるのはghq root以下のgitで管理されているものなので、ghqでインストールしていない自分で作ったプロジェクトが出てこないのだとgit initを実行し忘れてるのだと思う

導入難しくないし、割と便利だったのでみんなが記事書いてるわけですね