$ git clone git://gist.github.com/2341819.git ~/.dotfile $ cd ~/.dotfile $ git submodule init $ git submodule update $ ./setup.sh
TODO
- Check exist git of bash_completion on Cent OS
| vim/.netrwhist | |
| vim/bundle/* | |
| !vim/bundle/vundle | |
| [submodule "vim/bundle/vundle"] | |
| path = vim/bundle/vundle | |
| url = https://github.com/gmarik/vundle.git |
| [[ -s "$HOME/.bashrc.local" ]] && . "$HOME/.bashrc.local" # Load local bashrc | |
| # Mac OS X only | |
| if [ `uname` = "Darwin" ]; then | |
| if type -P brew >/dev/null; then | |
| export PATH=$(brew --repository)/bin:$PATH | |
| if [ -d $(brew --repository)/Library/LinkedKegs/gnu-tar ]; then | |
| alias tar='gtar' | |
| fi | |
| if [ -d $(brew --repository)/Library/LinkedKegs/coreutils ]; then | |
| export PATH=$(brew --repository)/Library/LinkedKegs/coreutils/libexec/gnubin:$PATH | |
| fi | |
| if [ -f $(brew --repository)/etc/bash_completion ]; then | |
| . $(brew --repository)/etc/bash_completion | |
| fi | |
| fi | |
| fi | |
| # RVM | |
| [[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm | |
| # Node Version Manager(nvm) | |
| if [ -s $HOME/.nvm/nvm.sh ]; then | |
| source $HOME/.nvm/nvm.sh | |
| source $HOME/.nvm/bash_completion | |
| fi | |
| # pythonz | |
| [[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc | |
| # python 2.7.3 | |
| [[ -d $HOME/.pythonz/pythons/CPython-2.7.3/bin ]] && export PATH=$HOME/.pythonz/pythons/CPython-2.7.3/bin:$PATH | |
| PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[36m\]\W' | |
| if declare -f __git_ps1 > /dev/null; then | |
| GIT_PS1_SHOWDIRTYSTATE=true | |
| PS1=$PS1'\[\033[31m\]$(__git_ps1)' | |
| fi | |
| # RVM | |
| if type -P rvm-prompt >/dev/null; then | |
| __custom_ps1_rvm() { | |
| local val="$(rvm-prompt)" | |
| [[ -n $val ]] && echo '('$val')' | |
| } | |
| PS1='\[\033[0;36m\]$(__custom_ps1_rvm)'$PS1 | |
| fi | |
| # NVM | |
| if type nvm_version &>/dev/null; then | |
| __custom_ps1_nvm() { | |
| local val="$(nvm_version)" | |
| [[ -n $val ]] && echo '(node '$val')' | |
| } | |
| PS1='\[\033[0;36m\]$(__custom_ps1_nvm)'$PS1 | |
| fi | |
| PS1=$PS1'\[\033[00m\]\$ ' | |
| export LESS='-R' | |
| alias sl='ls --color=auto' | |
| alias ll='ls --color=auto -al' | |
| alias sudo='sudo ' | |
| #alias java='java -Dfile.encoding=UTF-8' | |
| #eval `gdircolors ~/.dir_colors -b` | |
| #eval `ssh-agent` | |
| PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting | |
| PATH=./node_modules/.bin:$PATH # Add for node.js | |
| """""""""""""""""""""""" | |
| " basic.vimrc | |
| " | |
| syntax on | |
| filetype plugin indent on | |
| set listchars=tab:>-,trail:-,eol:$,extends:>,precedes:<,nbsp:% | |
| set list | |
| set number | |
| set laststatus=2 | |
| set cursorline | |
| set autowrite | |
| set hidden | |
| set nowrap | |
| function! GetStatusEx() | |
| let str = '' | |
| if &ft != '' | |
| let str = str . '[' . &ft . ']' | |
| endif | |
| if has('multi_byte') | |
| if &fenc != '' | |
| let str = str . '[' . &fenc . ']' | |
| elseif &enc != '' | |
| let str = str . '[' . &enc . ']' | |
| endif | |
| endif | |
| if &ff != '' | |
| let str = str . '[' . &ff . ']' | |
| endif | |
| return str | |
| endfunction | |
| set statusline=%<%f\ %m%r%h%w%=%{GetStatusEx()}\ \ %l,%c%V%8P | |
| " Javascript [ejs] | |
| au BufNewFile,BufRead *.ejs set filetype=html | |
| " PHP | |
| au BufNewFile,BufRead *.php set tabstop=4 shiftwidth=4 | |
| """""""""""""""""""""""" | |
| " vim-indent-guides | |
| " | |
| set ts=2 sw=2 et | |
| let g:indent_guides_auto_colors = 0 | |
| let g:indent_guides_enable_on_vim_startup = 1 | |
| let g:indent_guides_start_level = 2 | |
| let g:indent_guides_guide_size = 1 | |
| """""""""""""""""""""""" | |
| " neocomplcache | |
| " | |
| "起動時に有効 | |
| let g:neocomplcache_enable_at_startup = 1 | |
| "自動補完を行う入力数を設定。初期値は2 | |
| let g:neocomplcache_auto_completion_start_length = 2 | |
| "手動補完時に補完を行う入力数を制御。値を小さくすると文字の削除時に重くなる | |
| let g:neocomplcache_manual_completion_start_length = 3 | |
| """""""""""""""""""""""" | |
| " colors.vimrc | |
| " | |
| """""""""""""""""""""""" | |
| " Color Scheme | |
| " | |
| set t_Co=256 | |
| colorscheme molokai | |
| set background=dark " dark or light | |
| if 'dark' == &background | |
| hi Normal ctermbg=black guibg=black | |
| hi Cursor ctermbg=233 | |
| hi NonText ctermbg=233 ctermfg=239 | |
| hi Visual ctermbg=236 | |
| " autocmd VimEnter,Colorscheme * :hi Normal guibg=black ctermbg=black | |
| " autocmd VimEnter,Colorscheme * :hi Cursor ctermbg=233 | |
| endif | |
| if 'dark' == &background | |
| if &t_Co > 255 | |
| hi IndentGuidesOdd ctermbg=235 guibg=red | |
| hi IndentGuidesEven ctermbg=237 guibg=green | |
| autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=235 guibg=red | |
| autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=237 guibg=green | |
| else | |
| hi IndentGuidesOdd ctermbg=Blue guibg=red | |
| hi IndentGuidesEven ctermbg=DarkBlue guibg=green | |
| autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=3 guibg=red | |
| autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=4 guibg=green | |
| endif | |
| endif | |
| .DS_Store | |
| .yardoc | |
| *.tmproj | |
| *.bak | |
| *.swp | |
| *.swo | |
| #!/bin/bash | |
| basedir=$(cd $(dirname $0);pwd) | |
| cd $basedir | |
| #echo $basedir | |
| canonical_readlink () { | |
| cd `dirname $1`; | |
| __filename=`basename $1`; | |
| if [ -h "$__filename" ]; then | |
| canonical_readlink `readlink $__filename`; | |
| else | |
| echo "`pwd -P`/$__filename"; | |
| fi | |
| } | |
| mkSLink () { | |
| local src dest cancel | |
| cancel=false | |
| src=$1 | |
| dest=$2 | |
| if [ $(canonical_readlink $src) = $(canonical_readlink $dest) ]; then | |
| echo "$(printf '%-30s ... ok (already created)' $dest)"; | |
| return | |
| fi | |
| if [ -e $dest ]; then | |
| read -p "$dest already exist. Overwite? [y/N]:" ans | |
| case $ans in | |
| [Yy]* ) break;; | |
| * ) cancel=true;; | |
| esac | |
| fi | |
| if ! $cancel; then | |
| rm -rf $dest | |
| ln -s -f $src $dest | |
| echo "$(printf '%-30s ... ok' $dest)"; | |
| else | |
| echo "$(printf '%-30s ... skip' $dest)"; | |
| fi | |
| } | |
| escapeFile () { | |
| local src dest | |
| src=$1 | |
| dest=$2 | |
| if [ ! -f $dest ]; then | |
| return | |
| fi | |
| if [ $(canonical_readlink $src) = $(canonical_readlink $dest) ]; then | |
| return | |
| fi | |
| mv $dest "$dest.local" | |
| echo "escape $dest to .local" | |
| } | |
| vimsetup () { | |
| vim -u $basedir/vim/vimrc.d/vundle.vimrc +BundleInstall +qall | |
| } | |
| git submodule init | |
| git submodule update | |
| escapeFile "$basedir/bashrc" ~/.bashrc | |
| mkSLink "$basedir/bashrc" ~/.bashrc | |
| mkSLink "$basedir/gitignore" ~/.gitignore | |
| mkSLink "$basedir/vimrc" ~/.vimrc | |
| mkSLink "$basedir/vim" ~/.vim | |
| vimsetup | |
| # setup git | |
| if [ -z $(git config --global user.name) ]; then | |
| echo -en "\e[32mgit config --global user.name\e[00m > " | |
| read input | |
| if [ -z $input ]; then | |
| echo -e "\e[33mskip\e[00m" | |
| else | |
| echo -e "git config --global user.name \e[32m$input\e[00m" | |
| git config --global user.name $input | |
| fi | |
| fi | |
| if [ -z $(git config --global user.email) ]; then | |
| echo -en "\e[32mgit config --global user.email\e[00m > " | |
| read input | |
| if [ -z $input ]; then | |
| echo -e "\e[33mskip\e[00m" | |
| else | |
| echo -e "git config --global user.email \e[32m$input\e[00m" | |
| git config --global user.email $input | |
| fi | |
| fi | |
| # use color UI | |
| git config --global color.ui true | |
| # use default git ignores | |
| git config --global core.excludesfile $HOME/.gitignore | |
| # push only current branch | |
| git config --global push.default current | |
| # aliases | |
| git config --global alias.mls 'ls-files --other --modified --exclude-standard' | |
| if which update-alternatives >/dev/null; then | |
| if [ $(update-alternatives --query editor | grep -c "^Value: .*vim.*") != 1 ]; then | |
| sudo update-alternatives --config editor | |
| fi | |
| fi | |
| source ~/.vim/vimrc.d/vundle.vimrc | |
| source ~/.vim/vimrc.d/basic.vimrc | |
| source ~/.vim/vimrc.d/colors.vimrc | |
| "let bedir resolve(expand("~/.vimrc")) | |
| set nocompatible " be iMproved | |
| filetype off " required! | |
| " Vundle | |
| set rtp+=~/.vim/bundle/vundle/ | |
| call vundle#rc() | |
| " original repos on github | |
| Bundle 'gmarik/vundle' | |
| Bundle 'kchmck/vim-coffee-script' | |
| Bundle 'nathanaelkane/vim-indent-guides' | |
| Bundle 'Shougo/neocomplcache' | |
| " vim-scripts repos | |
| Bundle 'molokai' | |
| "Bundle 'unite.vim' | |