brew install go
go version
go version go1.11.4 darwin/amd64
brew install peco
peco --version
動作確認として以下のコマンドを実行します。
ls | peco
QUERY>
という画面が表示され、現在のディレクトリのファイル一覧が表示されればOKです。
brew install ghq
ghq -v
ghqでクローンするファイルの場所を~/dev/src
設定します。
(ここは任意ですが、GOPATHの中である必要があります)
.gitconfigファイルに以下の設定を追記しましょう。
[ghq]
root = ~/dev/src
$GOPATHが
~/dev
の場合の設定となります。GOPATHの設定方法は、zshの場合.zshenv
にexport GOPATH=$HOME/go
の行を追加します。
使い方は簡単で、今までgit clone [url]
でクローンしてきたところを、
ghq get [url]
とするだけです。
ghq get
で取得したリポジトリは~/dev/src
以下には
位置され、例えば~/dev/src/github.com/junpeko5/[プロジェクト名]
にリポジトリがクローンされるようになります。
リモートリポジトリのサービス、アカウント毎でディレクトリが分かれるため、管理が楽になります。
また、ghq list
コマンドを叩くと、ghqで取得したローカルリポジトリのパスが取得出来ます。
ghq list
準備が整ったところで、早速pecoとghqでクローンしてきたリポジトリに移動するエイリアスを設定していきます。
.zshrc
に以下を追記しましょう。
# peco の設定(リポジトリ間の移動を行う)
function peco-src () {
local selected_dir=$(ghq list -p | peco --query "$LBUFFER")
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-src
bindkey '^]' peco-src
ターミナルを再起動し、^]
つまり、controlと]記号を入力することでスクリプトを実行します。
ghq list -p
でローカルリポジトリを一覧表示したものをpecoに渡し、絞り込み検索出来るようになります。絞り込んだ結果を選択すると、選択したリポジトリにcd
コマンドで移動出来ます。
同様に、コマンドのhistoryをpecoで絞り込み検索できるようにしたものが以下です。
.zshrc
に追加します。
# peco の設定 (履歴を検索する)
function peco-history-selection() {
BUFFER=`history -n 1 | tail -r | awk '!a[$0]++' | peco`
CURSOR=$#BUFFER
zle reset-prompt
}
zle -N peco-history-selection
bindkey '^R' peco-history-selection
brew install hub
.zshrc
に追加します。
alias hb='hub browse $(ghq list | peco | cut -d "/" -f 2,3)'
内容が反映されない場合はexec zsh -l
でログインし直して試してみてください。
これだけでかなりターミナル環境が整う印象です。
ぜひ設定してみてくださいね。