Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

dotfilesの初期化用スクリプト

$
0
0

はじめに

dotfiles、便利ですよね。
でも環境が変わるごとにシンボリックリンク貼ったり、大変ですよね。
しかも環境が変わるってのは普通はあんまりないですし、何すればいいんだっけ?ってなりますよね。よね??
私はなります。

対象者

  • すでにdotfilesを運用してるひと
  • NeoBundleでVimプラグインを管理しているひと
  • 毎回いちいち設定するのめんどくせえってひと

一括処理しよう

一度、バッチ処理するシェルプログラム書いておけば安心ですね。
はい、書きました。

init_dotfiles.sh
#!/bin/sh# current dircd$(dirname $0)# download neobundle filesif[ -e ~/dotfiles/vimfiles/bundle/neobundle.vim ];thenecho"neobundle found"is_existed=trueelseecho"install neobundle"
    mkdir -p ~/dotfiles/vimfiles/bundle/
    git clone https://github.com/Shougo/neobundle.vim ~/dotfiles/vimfiles/bundle/neobundle.vim
    is_existed=falsefi# make symlinkfor dotfiles in .?*;docase$dotfiles in 
        ..)continue;;
        .git)continue;;
        *)
            ln -Fis "$PWD/$dotfiles"$HOME;;esacdoneif[ -e ~/.vim ];thenecho".vim found. rename .vim dir"else
    ln -vFis ~/dotfiles/vimfiles ~/.vim;fi# install & update NeoBundle pluginsif["${is_existed}"==true];thenecho"running NeoBundleUpdate...\n"
    vim -u ~/.vimrc -i NONE -c "try | NeoBundleUpdate! | finally | q! | endtry" -e -s -V1
elseecho"running NeoBundleInstall...\n"
    vim -u ~/.vimrc -i NONE -c "try | NeoBundleInstall! | finally | q! | endtry" -e -s -V1
fiecho"\ncompleted!"

動作環境

CentOS 6.5, OS X 10.9.5のみ確認済みです。
想定する構成は

dotfiles
  │  .vimrc
  │  .bashrc
  ~
  │  init_dotfiles.sh
  └─ vimfiles
      └─ bundle

のような感じです。

運用

非常に簡単です。

$ cd ~
$ git clone https://github.com/your_account/dotfiles.git
$ sh init_dotfiles.sh

以上です。ね、簡単でしょ?
ちなみにすでに環境がある状態で

$ sh init_dotfiles.sh

とするとプラグインのアップデートがかかります(NeoBundleUpdate)

おわりに

注意点がいくつかあります。

  • Gitで2段階認証している場合はMacからだとPushできない可能性があります。
  • vimfiles/bundle/以下がgitignoreされていない場合、何か良くないことが起こりそうな気もします
  • ルートディレクトリの.vim/や.bashrcは事前に移動か削除しておく必要があると思います。

以上です。
Enjoy! XD


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>