ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

ボク式dotfiles

setup.sh

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

気になったのは既にシンボリックリンクがある時。
そのままsetup.shを実行すると、ディレクトリの場合シンボリックリンクがディレクトリ下にもうひとつ張られてしまう。
ということでシンボリックリンクが既にあるかどうかの判定を入れた。

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

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

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

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

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


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

OS互換

MacLinuxごとの異なる設定でも、例えばzshrcの場合、

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