Improve dot.vimrc

diff --git a/dot.vimrc b/dot.vimrc
index 033bc10..8d1a7e9 100644
--- a/dot.vimrc
+++ b/dot.vimrc
@@ -55,9 +55,12 @@ NeoBundle 'https://github.com/Shougo/vimproc', {
   \ },
 \ }

-NeoBundle 'https://github.com/Shougo/unite.vim'
-NeoBundle 'https://github.com/tsukkee/unite-help'
-NeoBundle 'https://github.com/h1mesuke/unite-outline'
+NeoBundleLazy 'Shougo/unite.vim', { 'autoload' : {
+  \ 'insert' : '1',
+  \ 'commands' : [{ 'name' : 'Unite', 'complete' : 'customlist,unite#complete_source'}],
+  \ 'function_prefix' : 'unite' }}
+NeoBundleLazy 'Shougo/unite-help', { 'autoload' : { 'unite_sources' : ['help'] } }
+NeoBundleLazy 'Shougo/unite-outline', { 'autoload' : { 'unite_sources' : ['outline'] } }

 NeoBundle 'https://github.com/kana/vim-textobj-user'
 NeoBundle 'https://github.com/kana/vim-textobj-jabraces'
@@ -1466,28 +1469,32 @@ let g:ref_phpmanual_cmd = 'w3m -dump %s'
 let g:ref_alc_start_linenumber = 45

-" unite.vim  "{{{2
-let g:unite_source_file_mru_limit = 200
-let g:unite_source_file_mru_filename_format = ''
-nnoremap <silent>uo :<C-u>Unite outline<CR>
+let s:bundle = neobundle#get('unite.vim')  "{{{2
+function! s:bundle.hooks.on_source(bundle)
+  let g:unite_source_file_mru_limit = 200
+  let g:unite_source_file_mru_filename_format = ''
+  let g:unite_data_directory = $MY_VIMRUNTIME . '/.vim/unite'
+
+  " http://this.aereal.org/entry/2013/12/25/003235
+  let s:unite_git_files_conflict = {
+        \   'name' : 'git/files/conflict',
+        \ }
+  function! s:unite_git_files_conflict.gather_candidates(args, context)
+    let output = unite#util#system('git diff-files --name-only --diff-filter=U')
+    let candidates = map(split(output, "\n"), '{
+          \ "word" : fnamemodify(v:val, ":p"),
+          \ "source" : "git/files/conflict",
+          \ "kind" : "file",
+          \ "action__path" : fnamemodify(v:val, ":p"),
+          \ }')
+    return candidates
+  endfunction
+  call unite#define_source(s:unite_git_files_conflict)

-" http://this.aereal.org/entry/2013/12/25/003235
-" unite-git-files-conflict {{{
-let s:unite_git_files_conflict = {
-      \   'name' : 'git/files/conflict',
-      \ }
-function! s:unite_git_files_conflict.gather_candidates(args, context)
-  let output = unite#util#system('git diff-files --name-only --diff-filter=U')
-  let candidates = map(split(output, "\n"), '{
-        \ "word" : fnamemodify(v:val, ":p"),
-        \ "source" : "git/files/conflict",
-        \ "kind" : "file",
-        \ "action__path" : fnamemodify(v:val, ":p"),
-        \ }')
-  return candidates
 endfunction
-call unite#define_source(s:unite_git_files_conflict)
-" }}}
+unlet s:bundle
+
+nnoremap <silent>uo :<C-u>Unite outline<CR>

 " snipMate.vim  "{{{2

@@ -1698,3 +1705,4 @@ if has('vim_starting')
   " http://nanasi.jp/articles/vim/matchit_vim.html
   source $VIMRUNTIME/macros/matchit.vim
 endif
+