dotfiles^~~~~
どっどっどっっどっどっdとふぁいる~~~~♪♪
注:この記事ではgit及びGitHubの導入方法は説明しません
突然ですが,GitHubで「dotfiles」という名前のリポジトリを作ってる人を何人か見かけたことはありませんか?
簡潔に言うと,dotfilesをGitHubと連携することで,複数の環境で簡単に同じvimやbashの設定を使えるのじゃ
今回はそのdotfilesについて,導入方法を説明したいと思いますわ.
どっとふぁいるってな~に~?
dotfilesとは,簡単に言うと名前がドット「.」から始まるファイルのこと
基本的にホームディレクトリ直下にある
例えば.vimrc,.bashrc,ディレクトリもあるよ
Windowsにもユーザのホームドライブ直下に名前がドットから始まるフォルダがいっぱいあるね
一応ここに私のdotfilesリポジトリへのリンクを置いときますね
もし困ったとき役に立つかもしれないので
dotfilesの設定
では早速dotfilesを使えるようにしていきましょう
なお,この記事ではターミナル上で実行するコマンドは,行の先頭に$
をつけて記しています
ディレクトリをつくる
まずはdotfilesをひとつのディレクトリにまとめる
$ cd
$ mkdir dotfiles
$ mv .bashrc dotfiles
$ mv .vimrc dotfiles
$ mv .vim dotfiles
全部まとめて移動させたいなら$ mv .* dotfiles
でできるけど,あまりおすすめしないです
だって…その設定ファイル,本当に全部どの環境でも使うんですか?ってね
いくつかに絞っておくのがきっと未来の自分のためにもなるでしょう
シンボリックリンクを用意する
次はシンボリックリンクをつくります
dotfilesはホームディレクトリ直下に置いとかないと,そもそもその設定ファイルを見てもらえなくなるんじゃ...
新たに別の環境にdotfilesの設定を適用するたびにこれらを打つのは面倒なので,シェルスクリプト書いて半自動化しますっ
シェルスクリプトの名前は別になんでもいいですが,ここではdotfilesLink.sh
としときます
dotfilesディレクトリに入ってvimなどでdotfilesLink.sh
を開く
$ cd ~/dotfiles
$ vim dotfilesLink.sh
そして以下のようにファイルに記述します
#! /bin/bash
ln -s ~/dotfiles/.bashrc ~/.bashrc
ln -s ~/dotfiles/.vimrc ~/.vimrc
ln -s ~/dotfiles/.vim ~/.vim
一行目の#! /bin/bash
は任意(推奨)です.私は書かずに使ってますがネ
ln
はリンクをつくるコマンドです.第一引数がリンク先の実体,第二引数がリンク元の置き場所-s
はシンボリックリンクとしてファイルのリンクを作成することを指定するオプションです
シンボリックリンクとはまあよくある普通のリンクです(詳しく知りたい人は「シンボリックリンク ハードリンク 違い」などで調べてみてね)
書き終わったら保存して次は実行権限をつけて実行する余
シェルスクリプトを作ったら実行権限つけるのはテンプレ(そうしないと大体エラー吐く)(多分)
$ chmod +x dotfilesLink.sh
$ ./dotfilesLink.sh
chmod
はそのファイルやディレクトリへのアクセス権限を変えるコマンド
ほかのユーザに見られちゃ困るファイルみんなあるもんね
+x
は「すべてのユーザに対象の実行権限を与える」という意味x
は実行,r
は読み込み,w
は書き込み権限を示していて,u
は自分自身,g
は自分と同じグループ,o
はその他を示します
今回u
もg
もo
も指定されていないので,全員を対象にすることになります
これは3桁の数字で示されることもありますが,こっちが絶対わかりやすいでしょ
GitHubへpush
したらあとはGitHubにpushするだけじゃい!
リモートリポジトリつくってからね
$ cd ~/dotfiles
$ git init
$ git add .
$ git commit -m ":tada: Initial commit"
$ git remote add origin [email protected]:ユーザ名/dotfiles.git
$ git push -u origin master
ターンエンド
実際に別の環境でこのdotfilesを使うときはGitHubからリポジトリ持ってきて
リンク作成用のシェルスクリプトを実行するだけにゃ!
参考リンク
今回やったののついでにvimプラグインをNeoBundleで管理してvimを一回り強くしたい人にはこの記事がおすすめ
vimをつよつよにしたい人にはこちら