Hatena::ブログ(Diary)

ゆず日記

2012-02-20

ボク式dotfiles

setup.sh

iTerm2 + zsh + tmux + vim で快適な256色ターミナル環境を構築する - ゆろよろ日記を見ててsetup.shがいいなと思って追加した。

気になったのは既にシンボリックリンクがある時。

そのままsetup.shを実行すると、ディレクトリの場合シンボリックリンクがディレクトリ下にもうひとつ張られてしまう。

ということでシンボリックリンクが既にあるかどうかの判定を入れた。

チェック
DOT_FILES=( .vim .vimrc .bazaar)

for file in ${DOT_FILES[@]}
do
  if [ -a $HOME/$file ]; then
    echo "既にファイルが存在します: $file"
  else
    ln -s $HOME/dotfiles/$file $HOME/$file
    echo "シンボリックリンクを貼りました: $file"
  fi
done

echo で表示するとやっぱりわかりやすい。

丁寧にチェックするなら、以下を利用すると良い。

-a存在するかどうか
-dディレクトリかどうか
-fファイルかどうか
-Lシンボリックリンクかどうか

んでsetup.shを利用することで様々な設定ファイルのシンボリックリンクが容易になったので、BazaarやGitのファイルもガシガシdotfilesとして登録した。


OS互換

MacやLinuxごとの設定は、例えばzshの場合、

case "$OSTYPE" in
# BSD (contains Mac)
darwin*)
  alias o='open'
  alias ls='ls -ahGp'
  alias ld='ls -ahGp | grep /'
  alias ll='ls -ahGlp'
  alias lld='ls -ahGlp | grep /'
  ;;
# for GNU
linux*)
  alias ls='ls -ahp --color=auto'
  alias ld='ls -ahp --color=auto | grep /'
  alias ll='ls -ahlp --color=auto'
  alias lld='ls -ahlp --color=auto | grep /'
  ;;
esac

で同一ファイルで完結するようにしている。その他のrcファイルも同様。

if has('mac')
  set transparency=20     " opacity
  set guifont=Ricty:h16   " font
  set columns=114         " width
  set lines=200           " line
  set antialias
elseif has('linux')
  set guifont=Monaco\ 12
  set columns=160
  set lines=100
endif

yuzuemon/dotfiles ? GitHub

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/Yuzuemon/20120220/1329747301