dotfiles
.(ドット)何とかってファイルを管理する方法です。
.vimrc,.vim,.bash_profile,.wgetrc何でも来たれです。
対象者
:環境設定するのに毎回設定を書くのめんどくせんだよって思う人前提条件
:ドットファイルの設定を行っていること。githubについての基礎の基礎知識がある。必要なソフト
:git
終着点
:環境設定がgit cloneによって一瞬で終わる。
githubにリポジトリを作成
まずは何はともあれgithub上にdotfilesリポジトリが必要です。
サインインして右上の+ボタンからnew repositoryを選択して、リポジトリを作成しましょう。
先述したとおりdotfiles
で作るのが主流みたいです。まぁなんでもいいけど。
repository nameのところにdotfilesって入力して、create repositoryボタンを押せばできます。
今まで管理していたファイルを移動
ホームディレクトリにdotfiles
ディレクトリを作成して、管理対象のファイルやディレクトリをぶちこみます。
下はmacの場合での例、自分で追加したいのとかいらないのとか取捨選択してね。
$ cd ~/
$ mkdir dotfiles
$ mv .vimrc dotfiles
$ mv .vim/colors dotfiles
$ mv .vim/ftdetect dotfiles
$ mv .vim/indent dotfiles
$ mv .bash_profile dotfiles
$ mv .wgetrc dotfiles
$ mv Brewfile dotfiles
ちなみに下3つは筆者は使っていない。
みんなは使うのかなーとか思って入れてみただけです。
実際のところこの部分はコマンドでやらずにFinderやエクスプローラーでやっても同じです。
シンボリックリンクを張る
まぁいわゆるショートカットです。
シェルスクリプトやバッチファイルにしちゃいます。(dotfilesディレクトリ内に作ってください。)
- Linux
$ #!/bin/sh$ ln -s ~/dotfiles/.vimrc ~/.vimrc
$ ln -s ~/dotfiles/colors ~/.vim/colors
$ ln -s ~/dotfiles/ftdetect ~/.vim/ftdetect
$ ln -s ~/dotfiles/indent ~/.vim/indent
$ ln -s ~/dotfiles/.bash_profile ~/.bash_profile
$ ln -s ~/dotfiles/.wgetrc ~/.wgetrc
$ ln -s ~/dotfiles/Brewfile ~/Brewfile
- Windows(Linux系のファイルは入れないようにしてください。lnコマンドと比べターゲットとリンク先の指定が逆なので注意)
mklink %HOMEPATH%"\.vimrc"%HOMEPATH%"\dotfiles\.vimrc"
mklink /D%HOMEPATH%"\.vim\ftdetect"%HOMEPATH%"\dotfiles\ftdetect"
mklink /D%HOMEPATH%"\.vim\indent"%HOMEPATH%"\dotfiles\indent"
mklink /D%HOMEPATH%"\.vim\colors"%HOMEPATH%"\dotfiles\colors"
exit 0
スクリプトを作りましたら、まずは動かしてみてください。
シンボリックリンク(いわゆるショートカット)ができているかと思います。
以降ほかの環境でgit cloneでgithubから持ってきてスクリプトを動かす際、同名のファイルは消すか移動してから動かしましょう。
現在のディレクトリ構成
こんな感じです。ただしcolors,ftdetect,indentは筆者の環境下での話になります。
dotfiles
│ .vimrc
│ .bash_profile
│ .wgetrc
│ dotfilesLink.sh
│ mklink.bat
│ Brewfile
│
├─colors
│ desert.vim
│
├─ftdetect
│ bas.vim
│ cls.vim
│ frm.vim
│
└─indent
css.vim
html.vim
javascript.vim
ruby.vim
scss.vim
githubへのpush
ここの説明がめんどくさいのでコマンドだけ、
意味はcommitとpushしかできない人のためのgithubの使い方まとめを参照してみて。
$ cd ~/dotfiles # if windows use this > cd %HOMEPATH%/dotfiles$ git init
$ git add .
$ git commit -m 'first commit'$ git remote add https://github.com/your_name/dotfiles.git
$ git push origin master
下から2行目のyour_nameの部分は自身のgithubアカウント名ね。
他のコンピュータからの取得
他のコンピュータからgit cloneして設定を持ってきます。
前述したとおりスクリプト動かす前にシンボリックリンク作る同名のファイルは消すか移動しといてね。
$ cd ~/ # if windows use this > cd %HOMEPATH%$ git clone add https://github.com/your_name/dotfiles.git
$ sh dotfilesLink.sh # if windows use this > mklink.bat
最後に
なぜ.vim以下全てを持っていかないのか->私はなるべく最新のpluginなど使いたいですし、要らんものがいっぱいついてくるので必要最低限しかもっていきません。NeoBundleInstallで入るのですからいいのです。
Windowsなら以前紹介したchocolateyの設定を入れて置くのもありだと思います。