LoginSignup
7
7

More than 5 years have passed since last update.

自分用シェル設定(zshに変えてリポジトリ管理方針をGoっぽく)

Last updated at Posted at 2014-07-07

Macのユーザアカウントを開発用と普段使いように分けたので、シェル周りの使い勝手を改善しました。
ghqというツールを使うことでリポジトリをGoっぽく管理しようって方針です

基本設定

zshのインストールと切り替え

$ brew install zsh //brewを使ってインストール
$ sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells" #環境に追加
$ chsh -s /usr/local/bin/zsh #シェル切り替え

oh-my-zshを使う

curl -L http://install.ohmyz.sh | sh

ここでターミナルを再起動
再起動後、.zshrcを編集

~/.zshrc

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
#ZSH_THEME="robbyrussell"
ZSH_THEME="ys"    ##ysに変更 ここは好みで

ツール構築用にGoインストール(Goを使いたいのでGoのパッケージ管理からツールをインストール)

$ brew install go # goのインストール
$ mkdir ~/go

.zshをGo用に追記

~/.zshrc
export GOPATH="$HOME/go"
export PATH="$GOPATH/bin:$PATH"

反映

source ~/.zshrc

ツールをインストール(peco ghq gh-open)
ghq用にrepoディレクトリを作成

$ go get github.com/peco/peco
$ go get github.com/motemen/ghq
$ go get github.com/typester/gh-open
$ mkdir ~/repo #repo配下にghqの取得情報を保管

ghqの設定のため.gitconfigを作成or修正

~/.gitconfig
[ghq]
    root = ~/repo
    root = ~/go/src

ghqのための便利ailiasとかhistoryの設定を追加。.zshrcに以下を追記

~/.zshrc
function r2t() {
    local fn
    while read fn
    do
        echo ${fn/$HOME/"~"}
    done
}

alias g='LINE=$(ghq list -p | r2t  | peco); cd ${LINE/"~"/$HOME}'
alias gh='LINE=$(ghq list -p | r2t | peco); gh-open ${LINE/"~"/$HOME}'

function peco-select-history() {
    local tac
    if which tac > /dev/null; then
        tac="tac"
    else
        tac="tail -r"
    fi
    BUFFER=$(\history -n 1 | \
        eval $tac | \
        peco --query "$LBUFFER")
    CURSOR=$#BUFFER
    zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

g でリポジトリ切り替え
gh でgithubやbitbucketの該当プロジェクトへ飛びます

参考:http://webtech-walker.com/archive/2014/06/peco-ghq-gh-open.html

xcode用に設定を追加

以下を追記

~/.zshrc

setopt nonomatch

function xcopen() {
    local xcp
    local xws
    xcp=$(\ls -d *.xcodeproj 2>/dev/null )
    xws=$(\ls -d *.xcworkspace 2>/dev/null )
    if [[ $xws != '' ]] ; then
        echo "try open $xws" ;
        open $@ $xws;
    else
        if [[ $xcp != '' ]] ; then
            echo "try open $xcp" ;
            open $@ $xcp;
        else
            echo "this is not xcode project...\n"
        fi
    fi
}

alias xco='xcopen -a /Applications/Xcode.app'

xcopen でxcode(BetaがあればBeta版で)を起動します
xco でxcode.appで起動します

その他

以下を~/.vimrc に追加

~/.vimrc
set clipboard+=autoselect
set clipboard+=unnamed

何故かvimでクリップボードが使えなくなったのでヤンクしたらクリップボードにコピーするように設定
クリップボードから貼り付けたい場合はコマンドモードで"*p と入力

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7