brew install go
go version
go version go1.11.4 darwin/amd64brew install peco
peco --version動作確認として以下のコマンドを実行します。
ls | pecoQUERY>という画面が表示され、現在のディレクトリのファイル一覧が表示されればOKです。
brew install ghq
ghq -vghqでクローンするファイルの場所を~/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-selectionbrew install hub.zshrcに追加します。
alias hb='hub browse $(ghq list | peco | cut -d "/" -f 2,3)'内容が反映されない場合はexec zsh -lでログインし直して試してみてください。
これだけでかなりターミナル環境が整う印象です。
ぜひ設定してみてくださいね。