普段からMacを愛用しているdommyです。
最近、Android開発以外にもいろいろするので、
bashrcの中身を整理していました。
なので、bashの設定をちょこっと晒してみたいと思います。
Dropbox
bashに関係無いDropboxですが、必須です。まずはMacへインストールさせます。
そして、使うMacのアカウントはすべて共通化させます。
bashrcなどをすべてDropboxとgitで管理するので、
Dropboxをまずインストールします。
インストールしたらディレクトリを作成
$ cd ~/Dropbox $ mkdir git
gitディレクトリがレポジトリになります。
Git
次にgitをインストールします。Macって最初っから入ってましたっけ?
入っていたらそのままでOKです。
レポジトリ作成
gitのレポジトリを作ります。$ cd ~/Dropbox/git $ mkdir dotfiles.git $ cd dotfiles.git $ git init --bare
これでDropboxにリモートのレポジトリが出来ました。
次に、.bashrcを管理するフォルダを作成します。
$ cd ~ $ mkdir dotfiles $ mv .bashrc ~/dotfiles $ mv .bash_profile ~/dotfiles $ mv .vimrc ~/dotfiles $ mv .gitconfig ~/dotfiles $ cd ~/dotfiles $ git init $ git add . $ git commit -m 'first commit' $ git remote add dropbox ~/Dropbox/git/dotfiles.git $ git push -u dropbox master
.bashrcとか無い人は作成しちゃってください。
今まで使ってたのをdotfilesへコピーしたら一旦コミットします。
同期スクリプト
dotfiles内に同期用シェルスクリプトを作成します。$ cd ~/dotfiles $ touch sync.sh $ chmod 777 sync.sh $ vi sync.sh
スクリプトの中身はこんな感じです。
#!/bin/sh cd $(dirname $0) for dotfile in .?* do if [ $dotfile != '..' ] && [ $dotfile != '.git' ] then ln -Fis "$PWD/$dotfile" $HOME fi done
ホームディレクトリに.bashrcなどのシンボリックリンクを作成します。
一旦、実行は後回し。
bashの設定
基本的に中身は外出しします。なので、読み込み部分だけを書き足して行きます。
すでに、.bashrcがある人はalias.shやexport.shなどに分割し、
中身をこんな感じで読み込むようにすると管理が楽です。
source ~/dotfiles/alias.sh source ~/dotfiles/export.sh source ~/dotfiles/prompt.sh source ~/dotfiles/function.sh source ~/dotfiles/git-completion.bash source ~/dotfiles/git-prompt.sh export HISTSIZE=1000 export HISTIGNORE='fg*:bg*:history*:cd*:ls*:pwd*'
と、それぞれ分けて書いてます。
git-completion.bashとgit-prompt.shはGitHub.comにあります。
git-completion.bash
git-prompt.sh
それぞれ、タブで補完してくれるのと、PS1への表示を助けてくれます。
alias.sh
使っているaliasの一部を紹介# Navigation alias ..='cd ..' alias .2='cd ../../' alias .3='cd ../../../' alias .4='cd ../../../../' alias .5='cd ../../../../../' alias ~='cd ~' alias ll='ls -Glahs' alias ls='ls -G' alias sl='ls -G' alias path='echo $PATH' # Search alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias regrep='find . -name "*" -type f | xargs egrep --color=auto' # Process alias psgrep='ps aux | egrep -v egrep | egrep' alias top='top -o cpu' # Network alias hosts='sudo vim /etc/hosts' alias localip='ipconfig getifaddr en0' alias ips='ifconfig -a | perl -nle"/(\d+\.\d+\.\d+\.\d+)/ && print $1"' # Disk alias df='df -h' alias du='du -h' alias cleanup='find . -name "*.DS_Store" -type f -ls -delete' alias cleansvn='find . -name .svn -print0 | xargs -0 rm -r' # Applications alias chrome='open -a "Google Chrome"' alias mail='open -a "Mail"'
regrepとpsgrepはそこそこ使いやすいですね。
あとは、chromeとかmailはタブ切り替えが面倒なので、
bashからすぐ呼び出せるようにaliasに設定しました。
自宅のみで使いたいaliasがあるなどの場合は
if [[ `hostname -s` -eq 'home' ]]; then alias svi='sudo vi' fiなどと、if文でまとめておきます。
prompt
次は使っているbashのプロンプトです。
bashは右側にうまいこと表示が出来ないので、
2行プロンプトを使っています。
PS1='\[\033[32m\][\[\033[0m\] \h: \[\033[36m\]\w\[\033[0m\]$(__git_ps1 "(%s)") \[\033[32m\]]\n\[\033[33m\]\u \[\033[32m\]\$ \[\033[0m\] '
1行名が、
白でホスト名
水色でディレクトリ名
gitの管理下にあれば白でgitのブランチ名
2行目が黄色でユーザ名
です。
別の端末で同期
設定し終わったら、全部コミットしておきます。どうせバージョン管理されてるので、戻せると思ってコミットコミット。
で、例えば家で設定し終わったら、
会社でいきなり使えるようにしましょう。
まず。Dropboxをインストールして、ファイルの同期
そしてcloneからのsync.sh
$ cd ~ $ git clone ~/Dropbox/git/dotfiles.git $ cd dotfiles $ ./sync.sh
これだけで設定終了です。
2台目以降がすごい楽になりました。
こんな感じで新しい環境での開発環境を整えております。
0 件のコメント:
コメントを投稿