[from now] 2013/12/01 21:03:59

diff --git a/vim/.vimrc b/vim/.vimrc
index 243c356..330231d 100755
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -1,30 +1,21 @@
 "{{{ ========== Basics ================================================================
 set nocompatible
 scriptencoding utf-8
-"scriptencodingと、このファイルのエンコーディングが一致するよう注意！

-"----------------------------------------
-" ユーザーランタイムパス設定
-"----------------------------------------
-"Windows, unixでのruntimepathの違いを吸収するためのもの。
-"$MY_VIMRUNTIMEはユーザーランタイムディレクトリを示す。
-":echo $MY_VIMRUNTIMEで実際のパスを確認できます。
 if isdirectory($HOME . '/.vim')
-  let $MY_VIMRUNTIME = $HOME.'/.vim'
+  let $MY_VIMRUNTIME = $HOME . '/.vim'
 elseif isdirectory($HOME . '\vimfiles')
-  let $MY_VIMRUNTIME = $HOME.'\vimfiles'
+  let $MY_VIMRUNTIME = $HOME . '\vimfiles'
 elseif isdirectory($VIM . '\vimfiles')
-  let $MY_VIMRUNTIME = $VIM.'\vimfiles'
+  let $MY_VIMRUNTIME = $VIM . '\vimfiles'
 endif

+" judge os type
 let s:is_windows = has('win16') || has('win32') || has('win64')
 let s:is_cygwin = has('win32unix')
 let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
 let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin

-let s:config_root = $MY_VIMRUNTIME
-let s:bundle_root = s:config_root . '/bundle'
-
 " release autogroup in MyAutoCmd
 augroup MyAutoCmd
   autocmd!
@@ -32,619 +23,233 @@ augroup END
 "===================================================================================}}}

 "{{{ ========== Plugins ===============================================================
-"----------------------------------------
-"" プラグイン読み込み
-"----------------------------------------
-"" neobundle.vim
+" neobundle.vim
 set nocompatible

 if has('vim_starting')
-  "set runtimepath+=~/.bundle/neobundle.vim_c03600f
   set runtimepath+=~/.bundle/neobundle.vim
   call neobundle#rc(expand('~/.bundle'))
 endif

 " Let NeoBundle manage NeoBundle
-"NeoBundleFetch 'Shougo/neobundle.vim', 'c03600f'
 NeoBundleFetch 'Shougo/neobundle.vim'
-" Build repos.
-NeoBundle 'Shougo/vimproc', {
-      \ 'build': {
-      \     'windows': 'echo "Sorry, cannot update vimproc binary file in Windows."',
-      \     'cygwin' : 'make -f make_cygwin.mak',
-      \     'mac'    : 'make -f make_mac.mak',
-      \     'unix'   : 'make -f make_unix.mak'
-      \    }
-      \ }
-NeoBundle 'thinca/vim-submode'
-NeoBundle 'Colour-Sampler-Pack', {
-      \   'autoload': {'unite_sources': ['colorscheme']}
-      \ }
-NeoBundle 'itchyny/lightline.vim'
-if ! s:is_windows
-  NeoBundle 'airblade/vim-gitgutter'
-endif
-NeoBundle 'itchyny/landscape.vim'
-NeoBundle 'nanotech/jellybeans.vim'
-NeoBundle 'w0ng/vim-hybrid'
-NeoBundle 'cocopon/lightline-hybrid.vim'
-NeoBundle 'vim-scripts/twilight'
-NeoBundle 'jonathanfilip/vim-lucius'
-NeoBundle 'jpo/vim-railscasts-theme'
+
+" plugin list {{{
+NeoBundle 'Shougo/vimproc.vim', {
+            \ 'build': {
+            \   'windows' : 'mingw32-make -f make_mingw32.mak',
+            \   'cygwin'  : 'make -f make_cygwin.mak',
+            \   'mac'     : 'make -f make_mac.mak',
+            \   'unix'    : 'make -f make_unix.mak',
+            \ }}
+NeoBundle 'CmdlineCompl.vim'
+NeoBundle 'LeafCage/foldCC'
+NeoBundle 'LeafCage/yankround.vim', {'depends': 'kien/ctrlp.vim'}
+NeoBundle 'The-NERD-Commenter'
+NeoBundle 'airblade/vim-gitgutter'
 NeoBundle 'altercation/vim-colors-solarized'
-NeoBundle 'vim-scripts/Wombat'
-NeoBundle 'tomasr/molokai'
-NeoBundle 'vim-scripts/rdark'
 NeoBundle 'banyan/recognize_charcode.vim'
-"NeoBundle 'vim-scripts/restore_view.vim'
+NeoBundle 'cocopon/lightline-hybrid.vim', {'depends': 'itchyny/lightline.vim'}
+NeoBundle 'fuenor/qfixgrep'
+NeoBundle 'fuenor/qfixhowm'
+NeoBundle 'goldfeld/vim-seek'
+NeoBundle 'gregsexton/gitv', {'depends': 'tpope/vim-fugitive'}
+NeoBundle 'itchyny/landscape.vim'
+NeoBundle 'itchyny/lightline.vim'
 NeoBundle 'jceb/vim-hier'
-NeoBundle 'yonchu/accelerated-smooth-scroll'
+NeoBundle 'kana/vim-textobj-entire', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-function', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-indent', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-user'
 NeoBundle 'mattn/sonictemplate-vim'
-NeoBundle 'nathanaelkane/vim-indent-guides.git'
-"NeoBundle 'YankRing.vim'
-NeoBundle 'tpope/vim-surround'
-NeoBundle 'goldfeld/vim-seek'
+NeoBundle 'mattn/webapi-vim'
+NeoBundle 'nathanaelkane/vim-indent-guides'
 NeoBundle 'osyo-manga/vim-anzu'
-NeoBundle 'mattn/webapi-vim.git'
-NeoBundle 'The-NERD-Commenter'
-NeoBundle 'fuenor/qfixgrep'
-NeoBundle 'fuenor/qfixhowm'
-NeoBundle 'CmdlineCompl.vim'
-NeoBundle 'LeafCage/yankround.vim', {
-            \   'depends': ['kien/ctrlp.vim']
-            \ }
+NeoBundle 'osyo-manga/vim-automatic', {'depends': ['osyo-manga/vim-gift', 'osyo-manga/vim-reunions']}
+NeoBundle 'osyo-manga/vim-textobj-multiblock', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'osyo-manga/vim-textobj-multitextobj', {'depends': 'kana/vim-textobj-user'}
 NeoBundle 'pekepeke/titanium-vim'
-NeoBundle 'osyo-manga/vim-automatic', {
-            \     'depends': ['osyo-manga/vim-gift.git']
-            \ }
-NeoBundle 'szw/vim-tags', {
-      \   'build': {'mac': 'brew install ctags'}
-      \ }
-NeoBundle 'vim-scripts/errormarker.vim.git'
-" textobj のベース
-NeoBundle "kana/vim-textobj-user"
-" バッファ全体
-" ae, ie
-NeoBundle "kana/vim-textobj-entire"
-" カーソル行
-" al, il
-NeoBundle "kana/vim-textobj-line"
-" 関数内
-" af, if
-NeoBundle "kana/vim-textobj-function"
-" シンタックス
-" ay, iy
-NeoBundle "kana/vim-textobj-syntax"
-" 「foo」 or 【bar】など
-" ajb, ijb
-NeoBundle "kana/vim-textobj-jabraces"
-" 最後に検索されたパターン
-" a/, i/
-NeoBundle "kana/vim-textobj-lastpat"
-" カーソル位置と同じインデント
-" al, il
-NeoBundle "kana/vim-textobj-indent"
-" fold
-" az, iz
-NeoBundle "kana/vim-textobj-fold"
-" diff(1)
-" adf, idf
-NeoBundle "kana/vim-textobj-syntax"
-" 日付と時刻
-" ada, ida
-NeoBundle "kana/vim-textobj-datetime"
-" アンダースコアの間
-" _
-NeoBundle "kana/vim-textobj-syntax"
-" django_template
-" adb, idb
-NeoBundle "kana/vim-textobj-django-template"
-" 任意の区切り文字
-" af, if
-NeoBundle "thinca/vim-textobj-between"
-" コメント
-" ac, ic
-NeoBundle "thinca/vim-textobj-comment"
-" JavaScript の関数内
-" af, if
-NeoBundle "thinca/vim-textobj-function-javascript"
-" Perl の関数内
-" af, if
-NeoBundle "thinca/vim-textobj-function-perl"
-" 直前に変更またはヤンクされたテキスト
-" ip
-NeoBundle "gilligan/textobj-lastpaste"
-" ASCII文字とマルチバイト文字の境界を区切り
-" am, im
-NeoBundle "deton/textobj-mbboundary.vim"
-" XML の属性
-" axa, ixa
-NeoBundle "akiyan/vim-textobj-xml-attribute"
-" phpタグに囲まれた部分
-" aP, iP
-NeoBundle "akiyan/vim-textobj-php"
-" 連続したスペース
-" aS, iS
-NeoBundle "saihoooooooo/vim-textobj-space"
-" URL
-" au, iu
-NeoBundle "mattn/vim-textobj-url"
-" snake_case 上の word
-" a,w, i,w
-NeoBundle "h1mesuke/textobj-wiw"
-" テキストオブジェクトとして最後に挿入された範囲
-" au, iu
-NeoBundle "rhysd/vim-textobj-lastinserted"
-" 行継続を用いている行
-" av, iv
-NeoBundle "rhysd/vim-textobj-continuous-line"
-" Ruby のブロック
-" arr, brr
-NeoBundle "rhysd/vim-textobj-ruby"
-" x() や x<> など
-" axb, ixb
-NeoBundle "https://bitbucket.org/anyakichi/vim-textobj-xbrackets"
-" 任意の2つの motion の間
-" am, im
-NeoBundle "hchbaw/textobj-motionmotion.vim"
-" Perl や Ruby の正規表現
-" aq, iq
-NeoBundle "deris/vim-textobj-enclosedsyntax"
-" 行の先頭の word
-" ah, ih
-NeoBundle "deris/vim-textobj-headwordofline"
-" LaTeX
-" ae, ie
-NeoBundle "rbonvall/vim-textobj-latex"
-" 関数の引数
-" a, i,
-NeoBundle "sgur/vim-textobj-parameter"
-" 前後のスペースを取り除いたカーソル行
-" ac, ic
-NeoBundle "mattn/vim-textobj-cell"
-" 別の filetype のコンテキスト
-" icx
-NeoBundle "osyo-manga/vim-textobj-context"
-" 任意の複数の括弧のいずれか
-" asb, isb
-NeoBundle "osyo-manga/vim-textobj-multiblock"
-" インデントの空白行
-" ao, io
-NeoBundle "glts/vim-textobj-indblock"
-" ダッシュ記号の間
-" a-, i-
-NeoBundle "RyanMcG/vim-textobj-dash"
-" Python
-" af, if
-NeoBundle "bps/vim-textobj-python"
-" #ifdef
-" a#, i#
-NeoBundle "anyakichi/vim-textobj-ifdef"
-" HTML
-" ahf, ihf
-NeoBundle "mjbrownie/html-textobjects"
-" ハッシュの key と value
-" dak, dik,  dav, div
-NeoBundle "vimtaku/vim-textobj-keyvalue"
-
-NeoBundleLazy 'tpope/vim-fugitive.git'
-NeoBundleLazy 'thinca/vim-quickrun.git', {
-            \   'depends': ['Shougo/vimproc', 'Shougo/unite.vim.git', 'osyo-manga/unite-quickfix',
-            \               'osyo-manga/shabadou.vim', 'jceb/vim-hier']
-            \ }
-if s:is_darwin
-  NeoBundleLazy 'modsound/macdict-vim.git', {
-        \   'autoload': {'commands': ['MacDict', 'MacDictCWord', 'MacDictEnglish',
-        \                             'MacDictThesaurus', 'MacDictClose']}
-        \ }
-  NeoBundleLazy 'itchyny/dictionary.vim', {
-        \   'autoload': {'commands': 'Dictionary'}
-        \ }
-endif
-NeoBundleLazy 'cocopon/colorswatch.vim', {
-      \   'autoload': {'commands': 'ColorSwatchGenerate'}
-      \ }
-NeoBundleLazy 'Lokaltog/vim-powerline.git'
-NeoBundleLazy 'thinca/vim-splash'
-NeoBundleLazy "bling/vim-airline", {
-      \   'depends': ['osyo-manga/unite-airline_themes']
-      \ }
-NeoBundleLazy 'tpope/vim-fireplace', {
-            \   'depends': ['tpope/vim-classpath.git', 'guns/vim-clojure-static.git'],
-            \   'autoload' : {
-            \       'filetypes': 'clojure'
-            \ }}
-NeoBundleLazy 'scrooloose/syntastic.git', {
-      \ 'build': {
-      \   'mac': ['pip install pyflake', 'npm -g install coffeelint'],
-      \   'unix': ['pip install pyflake', 'npm -g install coffeelint']
-      \ }}
-NeoBundleLazy 'Shougo/neocomplcache-clang'
-NeoBundleLazy 'Shougo/neocomplcache-clang_complete'
+NeoBundle 'rhysd/vim-textobj-ruby', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'szw/vim-tags', {'build': {'mac': 'brew install ctags'}}
+NeoBundle 'thinca/vim-submode'
+NeoBundle 'tomasr/molokai'
+NeoBundle 'tpope/vim-fugitive'
+NeoBundle 'tpope/vim-surround'
+NeoBundle 'vim-jp/vimdoc-ja'
+NeoBundle 'w0ng/vim-hybrid'
 NeoBundleLazy 'Dotnet-Dictionaries'
 NeoBundleLazy 'DrawIt'
-NeoBundleLazy 'thinca/vim-template'
-NeoBundleLazy 'Shougo/echodoc.git'
-NeoBundleLazy 'Shougo/vim-vcs.git'
-NeoBundleLazy 'Shougo/vinarise.git'
-NeoBundleLazy 'The-NERD-tree'
-NeoBundleLazy 'thinca/vim-singleton.git'
+NeoBundleLazy 'JavaScript-syntax', {'depends': 'pangloss/vim-javascript'}
 NeoBundleLazy 'LeafCage/nebula.vim'
-NeoBundleLazy 'osyo-manga/vim-over', {
-            \   'commands': ['OverCommandLine']
-            \ }
-NeoBundleLazy 'PProvost/vim-ps1', {
-      \   'autoload' : {'filetypes': ['ps1']}
-      \ }
-NeoBundleLazy 'osyo-manga/vim-watchdogs', {
-      \   'autoload': {'insert': 1}
-      \ }
-NeoBundleLazy 'derekwyatt/vim-scala.git', {
-      \   'autoload': {'filetypes': 'scala'},
-      \   'build': {'mac': 'brew install scala sbt'}
-      \ }
-NeoBundleLazy 'Shougo/junkfile.vim', {
-      \   'autoload': {
-      \       'commands': 'JunkfileOpen',
-      \       'unite_sources': ['junkfile', 'junkfile/new']
-      \ }}
+NeoBundleLazy 'PProvost/vim-ps1'
+NeoBundleLazy 'SQLUtilities'
+NeoBundleLazy 'Shougo/echodoc'
+NeoBundleLazy 'Shougo/junkfile.vim'
+NeoBundleLazy 'Shougo/neosnippet.vim'
+NeoBundleLazy 'Shougo/unite.vim', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'Shougo/vim-vcs'
+NeoBundleLazy 'Shougo/vimfiler', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'Shougo/vimshell.vim', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'Shougo/vinarise'
+NeoBundleLazy 'VB.NET-Indent'
+NeoBundleLazy 'VB.NET-Syntax'
+NeoBundleLazy 'adogear/vim-blockdiag-series'
+NeoBundleLazy 'aklt/plantuml-syntax'
+NeoBundleLazy 'alpaca-tc/alpaca_tags', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'basyura/J6uil.vim', {'depends': ['Shougo/vimproc.vim', 'mattn/webapi-vim']}
+NeoBundleLazy 'basyura/unite-firefox-bookmarks', {'depends': ['tyru/open-browser.vim', 'mattn/webapi-vim']}
+NeoBundleLazy 'basyura/unite-rails', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'choplin/unite-vim_hacks'
+NeoBundleLazy 'cocopon/colorswatch.vim'
+NeoBundleLazy 'dag/vim2hs'
+NeoBundleLazy 'derekwyatt/vim-scala', {'build': {'mac': 'brew install scala sbt'}}
+NeoBundleLazy 'digitaltoad/vim-jade'
+NeoBundleLazy 'drakontia/sphinx.vim'
+NeoBundleLazy 'eagletmt/ghcmod-vim'
+NeoBundleLazy 'eagletmt/unite-haddock'
+NeoBundleLazy 'edsono/vim-matchit'
+NeoBundleLazy 'h1mesuke/unite-outline', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'h1mesuke/vim-alignta'
+NeoBundleLazy 'itchyny/dictionary.vim'
+NeoBundleLazy 'jmcantrell/vim-virtualenv'
+NeoBundleLazy 'jpo/vim-railscasts-theme'
+NeoBundleLazy 'kchmck/vim-coffee-script'
+NeoBundleLazy 'kien/ctrlp.vim'
+NeoBundleLazy 'koron/chalice'
+NeoBundleLazy 'lambdalisue/vim-django-support'
+NeoBundleLazy 'leafgarland/typescript-vim'
+NeoBundleLazy 'majutsushi/tagbar', {'build': {'mac': 'brew install ctags'}}
+NeoBundleLazy 'mattn/emmet-vim'
+NeoBundleLazy 'mattn/excitetranslate-vim'
+NeoBundleLazy 'mattn/gist-vim', {'depends': 'mattn/webapi-vim'}
+NeoBundleLazy 'mattn/googletasks-vim', {'depends': 'mattn/webapi-vim'}
+NeoBundleLazy 'mattn/unite-advent_calendar'
+NeoBundleLazy 'mattn/vimplenote-vim'
+NeoBundleLazy 'mitechie/pyflakes-pathogen'
+NeoBundleLazy 'modsound/macdict-vim'
+NeoBundleLazy 'nanotech/jellybeans.vim'
+NeoBundleLazy 'osyo-manga/checking-global-variables'
+NeoBundleLazy 'osyo-manga/unite-toggle-options'
+NeoBundleLazy 'osyo-manga/vim-over'
+NeoBundleLazy 'osyo-manga/vim-watchdogs'
+NeoBundleLazy 'pasela/unite-webcolorname'
 NeoBundleLazy 'rking/ag.vim', {
-      \   'autoload': {
-      \       'commands': ['Ag'],
-      \       'unite_sources': ['grep']
-      \ }}
-NeoBundleLazy 'mattn/excitetranslate-vim', {
-      \   'autoload': {'commands': ['ExciteTranslate']}
-      \ }
-NeoBundleLazy 'wesleyche/SrcExpl.git', {
-      \   'autoload': {'commands': ['SrcExplToggle']}
-      \ }
-NeoBundleLazy 'majutsushi/tagbar', {
-      \   'autoload': {'commands': ['TagbarToggle']},
-      \   'build': {'mac': 'brew install ctags'}
-      \ }
-NeoBundleLazy 'Align', {
-      \   'autoload': {'commands': ['Align']}
-      \ }
-"NeoBundleLazy 'h1mesuke/vim-alignta.git', {
-"\   'autoload': {'commands': ['Align']}
-"\ }
-NeoBundleLazy 'mattn/vimplenote-vim', {
-      \   'autoload': {'commands': ['VimpleNote']}
-      \ }
-NeoBundleLazy 'kien/ctrlp.vim', {
-      \   'autoload': {
-      \       'mappings': ['CtrlP'],
-      \       'commands': ['CtrlP']
-      \   }
-      \ }
+NeoBundleLazy 'sjl/gundo.vim'
+NeoBundleLazy 'supermomonga/vimshell-pure.vim', {'depends' : 'Shougo/vimshell.vim'}
+NeoBundleLazy 't9md/vim-quickhl'
+NeoBundleLazy 'tacroe/unite-mark'
+NeoBundleLazy 'thinca/vim-qfreplace'
+NeoBundleLazy 'thinca/vim-quickrun'
+NeoBundleLazy 'thinca/vim-ref'
+NeoBundleLazy 'thinca/vim-singleton'
+NeoBundleLazy 'thinca/vim-splash'
+NeoBundleLazy 'thinca/vim-template'
+NeoBundleLazy 'tpope/vim-endwise'
+NeoBundleLazy 'tpope/vim-fireplace', {'depends': ['tpope/vim-classpath', 'guns/vim-clojure-static']}
+NeoBundleLazy 'tpope/vim-rails'
+NeoBundleLazy 'tsukkee/unite-help', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'tsukkee/unite-tag', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'tyru/open-browser.vim'
+NeoBundleLazy 'ujihisa/neco-ghc'
+NeoBundleLazy 'ujihisa/unite-colorscheme'
+NeoBundleLazy 'ujihisa/unite-font'
+NeoBundleLazy 'vbnet.vim'
+NeoBundleLazy 'vim-ruby/vim-ruby'
+NeoBundleLazy 'vim-scripts/Wombat'
+NeoBundleLazy 'vim-scripts/copypath.vim'
+NeoBundleLazy 'wavded/vim-stylus'
+NeoBundleLazy 'wesleyche/SrcExpl'
+NeoBundleLazy 'yuyunko/dosbatch-indent', {'depends': 'taku-o/vim-batch-source'}
+NeoBundleLazy 'zhisheng/visualmark.vim'
+
+NeoBundleLazy 'davidhalter/jedi-vim', {
+            \ 'depends': 'mitechie/pyflakes-pathogen',
+            \ 'build': {
+            \   'mac': 'pip install jedi',
+            \   'unix': 'pip install jedi'
+            \ }}
+NeoBundleLazy 'basyura/TweetVim', 'dev', {
+            \ 'depends': [
+            \   'tyru/open-browser.vim',
+            \   'basyura/twibill.vim',
+            \   'basyura/bitly.vim',
+            \   'Shougo/unite.vim',
+            \   'Shougo/unite-outline',
+            \   'Shougo/vimproc.vim',
+            \   'mattn/favstar-vim',
+            \   'mattn/webapi-vim'
+            \ ]}
+NeoBundleLazy 'jnwhiteh/vim-golang', {
+            \ 'build': {
+            \   'windows': ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'cygwin' : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'mac'    : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'unix'   : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint']
+            \ }}
 if has('lua') && ((v:version >= 703 && has('patch885')) || v:version >= 704)
   NeoBundleLazy 'Shougo/neocomplete.vim'
 else
   NeoBundleLazy 'Shougo/neocomplcache.vim'
 endif
-NeoBundleLazy 'Shougo/neosnippet.vim'
-NeoBundleLazy 'PProvost/vim-ps1', {
-      \   'autoload': {
-      \       'filetypes': ['ps1']
-      \ }}
-NeoBundleLazy 'tpope/vim-rails', {
-      \   'autoload': {
-      \       'filetypes': ['haml', 'ruby', 'eruby']
-      \ }}
-NeoBundleLazy 'basyura/unite-rails', {
-      \   'depends': 'Shougo/unite.vim',
-      \   'autoload': {
-      \       'unite_sources': [
-      \           'rails/bundle', 'rails/bundled_gem', 'rails/config',
-      \           'rails/controller', 'rails/db', 'rails/destroy', 'rails/features',
-      \           'rails/gem', 'rails/gemfile', 'rails/generate', 'rails/git', 'rails/helper',
-      \           'rails/heroku', 'rails/initializer', 'rails/javascript',
-      \           'rails/lib', 'rails/log', 'rails/mailer', 'rails/model', 'rails/rake',
-      \           'rails/route', 'rails/schema', 'rails/spec', 'rails/stylesheet',
-      \           'rails/view'
-      \       ]
-      \ }}
-NeoBundleLazy 'alpaca-tc/neorspec.vim', {
-      \   'depends': ['alpaca-tc/vim-rails', 'tpope/vim-dispatch'],
-      \   'autoload': {'commands': ['RSpec', 'RSpecAll', 'RSpecCurrent', 'RSpecNearest',
-      \                             'RSpecRetry']}
-      \ }
-NeoBundleLazy 'alpaca-tc/alpaca_tags', {
-      \   'depends': 'Shougo/vimproc',
-      \   'autoload': {'commands': ['TagsUpdate', 'TagsSet', 'TagsBundle']}
-      \ }
-NeoBundleLazy 'tsukkee/unite-tag', {
-      \   'depends': ['Shougo/unite.vim'],
-      \   'autoload': {'unite_sources': ['tag', 'tag/file', 'tag/include']}
-      \ }
-NeoBundleLazy 'tpope/vim-endwise', {
-      \   'autoload': {'insert': 1}
-      \ }
-NeoBundleLazy 'vim-ruby/vim-ruby', {
-      \   'autoload': {'filetypes': ['ruby', 'eruby']}
-      \ }
-NeoBundleLazy 'edsono/vim-matchit', {
-      \   'autoload': {
-      \       'filetypes': ['ruby','eruby'],
-      \       'mappings': ['%']
-      \ }}
-NeoBundleLazy 'Shougo/unite.vim', {'depends': ['Shougo/vimproc']}
-NeoBundleLazy 'h1mesuke/unite-outline', {
-      \   'autoload': {'unite_sources': ['outline']}
-      \ }
-NeoBundleLazy 'Shougo/vimfiler', {'depends': ['Shougo/unite.vim']}
-NeoBundleLazy 'Shougo/vimshell.vim', {'depends': ['Shougo/vimproc']}
-NeoBundleLazy 'supermomonga/vimshell-pure.vim', {'depends' : ['Shougo/vimshell.vim']}
-NeoBundleLazy 't9md/vim-quickhl.git', {
-      \   'autoload': {'mappings': ['<Plug>(quickhl-toggle)']}
-      \ }
-NeoBundleLazy 'gregsexton/gitv', {
-      \   'depends': ['tpope/vim-fugitive'],
-      \   'autoload': {'commands': ['Gitv']}
-      \ }
-NeoBundleLazy 'vim-scripts/TaskList.vim', {
-      \ 'autoload': {'mappings': ['<Plug>TaskList']}
-      \ }
-NeoBundleLazy 'tsukkee/unite-help.git', {
-      \   'autoload': {'unite_sources': ['help']}
-      \ }
-NeoBundleLazy 'tyru/open-browser.vim.git'
-NeoBundleLazy 'glidenote/octoeditor.vim', {
-      \   'autoload': {'commands': ['OctopressNew', 'OctopressList', 'OctopressGrep',
-      \                             'OctopressGenerate', 'OctopressDeploy']}
-      \ }
-NeoBundleLazy 'MultipleSearch', {
-      \   'autoload': {'commands': ['Search', 'SearchBuffers']}
-      \ }
-NeoBundleLazy 'zhisheng/visualmark.vim', {
-      \   'autoload': {'mappings': ['<Plug>Vm_toggle_sign', '<Plug>Vm_goto_next_sign']}
-      \ }
-NeoBundleLazy 'adogear/vim-blockdiag-series', {
-      \   'autoload': {'filetypes': 'rst'}
-      \ }
-NeoBundleLazy 'SQLUtilities', {
-      \ 'autoload': {'filetypes': 'sql'}
-      \ }
-NeoBundleLazy 'VB.NET-Indent', {
-      \   'autoload': {'filetypes': 'vb'}
-      \ }
-NeoBundleLazy 'VB.NET-Syntax', {
-      \   'autoload': {'filetypes': 'vb'}
-      \ }
-NeoBundleLazy 'choplin/unite-vim_hacks.git', {
-      \   'autoload': {'unite_sources': ['vim_hacks']}
-      \ }
-NeoBundleLazy 'https://bitbucket.org/anyakichi/vim-histsearch'
-NeoBundleLazy 'mattn/gist-vim', {
-      \   'depends': ['mattn/webapi-vim'],
-      \   'autoload': {'commands': ['Gist']}
-      \ }
-NeoBundleLazy 'drakontia/sphinx.vim', {
-      \   'autoload': {'filetypes': 'rst'}
-      \ }
-NeoBundleLazy 'mattn/unite-advent_calendar.git', {
-      \   'autoload': {'unite_sources': ['advent_calendar']}
-      \ }
-NeoBundleLazy 'osyo-manga/checking-global-variables.git', {
-      \   'autoload': {'unite_sources': ['checking-global-variables']}
-      \ }
-NeoBundleLazy 'osyo-manga/unite-toggle-options.git', {
-      \   'autoload': {'unite_sources': ['toggle-options']}
-      \ }
-NeoBundleLazy 'pasela/unite-webcolorname.git', {
-      \   'autoload': {'unite_sources': ['webcolorname']}
-      \ }
-NeoBundleLazy 'rails.vim', {
-      \   'autoload': {'filetypes': ['ruby', 'eruby']}
-      \ }
-NeoBundleLazy 'sjl/gundo.vim', {
-      \   'autoload': {'commands': ['GundoToggle']}
-      \ }
-NeoBundleLazy 'tacroe/unite-mark.git', {
-      \   'autoload': {'unite_sources': ['mark']}
-      \ }
-"NeoBundleLazy 'teramako/jscomplete-vim.git', {
-      "\   'autoload': {'filetypes': ['javascript']}
-      "\ }
-NeoBundleLazy 'thinca/vim-ref.git', {
-      \   'autoload': {
-      \       'commands': ['Unite', 'Ref'],
-      \       'unite_sources': ['ref']
-      \ }}
-NeoBundleLazy 'thinca/vim-qfreplace', {
-      \   'autoload': {'unite_sources': ['grep']}
-      \ }
-if ! s:is_windows
-  NeoBundleLazy 'basyura/J6uil.vim.git', {
-        \   'depends': ['mattn/webapi-vim.git', 'Shougo/vimproc'],
-        \   'autoload': {'commands': ['J6uil', 'J6uilReconnect']}
-        \ }
-endif
-NeoBundleLazy 'tsukkee/unite-tag.git', {
-      \   'autoload': {'unite_sources': ['tag']}
-      \ }
-NeoBundleLazy 'ujihisa/unite-colorscheme.git', {
-      \   'autoload': {'unite_sources': ['colorscheme']}
-      \ }
-NeoBundleLazy 'ujihisa/unite-font.git', {
-      \   'autoload': {'unite_sources': ['font']}
-      \ }
-NeoBundleLazy 'vbnet.vim', {
-      \   'autoload': {'filetypes': ['vb']}
-      \ }
-NeoBundleLazy 'vim-scripts/copypath.vim.git', {
-      \   'autoload': {'commands': ['CopyPath', 'CopyFileName']}
-      \ }
-NeoBundleLazy 'kchmck/vim-coffee-script'
-NeoBundleLazy 'mattn/emmet-vim', {
-      \   'autoload': {'filetypes': ['html', 'djangohtml', 'eruby']}
-      \ }
-NeoBundleLazy 'davidhalter/jedi-vim.git', {
-            \ 'depends': ['mitechie/pyflakes-pathogen'],
-            \   'build': {
-            \     'mac': 'pip install jedi',
-            \     'unix': 'pip install jedi'
-            \   }
-            \ }
-NeoBundleLazy 'mitechie/pyflakes-pathogen', {
-      \   'autoload': {'filetypes': 'python'}
-      \ }
-NeoBundleLazy 'leafgarland/typescript-vim', {
-      \   'autoload': {'filetypes': 'typescript'}
-      \ }
-NeoBundleLazy 'koron/chalice', {
-      \   'autoload': {'commands': 'Chalice'}
-      \ }
-NeoBundleLazy 'yuyunko/dosbatch-indent', {
-      \   'depends': 'taku-o/vim-batch-source.git',
-      \   'autoload': {'filetypes': 'dosbatch'}
-      \ }
-NeoBundleLazy 'lambdalisue/vim-django-support', {
-      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
-      \ }
-NeoBundleLazy 'jmcantrell/vim-virtualenv', {
-      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
-      \ }
-NeoBundleLazy 'JavaScript-syntax', {
-      \   'depends': 'pangloss/vim-javascript.git',
-      \   'autoload': {'filetypes': 'JavaScript'}
-      \ }
-NeoBundleLazy 'basyura/TweetVim', {
-      \   'depends': ['basyura/twibill.vim', 'tyru/open-browser.vim', 'basyura/bitly.vim.git',
-      \               'osyo-manga/TweetVim-powerline-theme.git'],
-      \   'autoload': {
-      \       'commands': ['TweetVimHomeTimeline', 'TweetVim'],
-      \       'unite_sources': ['tweetvim']
-      \ }}
-NeoBundleLazy 'mattn/googletasks-vim.git', {
-      \   'depends': ['mattn/webapi-vim.git'],
-      \   'autoload': {'commands': ['GoogleTasks']}
-      \ }
-NeoBundleLazy 'basyura/unite-firefox-bookmarks.git', {
-      \   'depends': ['tyru/open-browser.vim.git', 'mattn/webapi-vim.git'],
-      \   'autoload': {'unite_sources': ['firefox/bookmarks']}
-      \ }
-NeoBundleLazy 'aklt/plantuml-syntax', {
-      \   'autoload': {'filetypes': 'plantuml'}
-      \ }
-NeoBundleLazy 'wavded/vim-stylus', {
-      \   'autoload': {'filetypes': 'stylus'}
-      \ }
-NeoBundleLazy 'digitaltoad/vim-jade', {
-      \   'autoload': {'filetypes': 'jade'}
-      \ }
-"NeoBundleLazy 'Blackrush/vim-gocode', {
-NeoBundle 'jnwhiteh/vim-golang', {
-      \ "autoload": {"filetypes": 'go'},
-      \ "build": {
-      \   'windows': ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'cygwin' : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'mac'    : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'unix'   : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint']
-      \ }}
-" for Haskell
-NeoBundleLazy 'dag/vim2hs', {
-      \   "autoload": {"filetypes": 'hs'}
-      \ }
-NeoBundleLazy 'eagletmt/ghcmod-vim', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }
-NeoBundleLazy 'ujihisa/neco-ghc', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }
-NeoBundleLazy 'eagletmt/unite-haddock', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }

-filetype plugin on
-filetype indent on
+filetype plugin indent on

 " Installation check.
 if ! has('gui_running')
-  "NeoBundleCheck
+    NeoBundleCheck
 endif
 "===================================================================================}}}

 "{{{ ========== VimScripts ============================================================
-"ファイルを開いたら前回のカーソル位置へ移動
-autocmd MyAutoCmd BufReadPost *
-      \ if line("'\"") > 1 && line("'\"") <= line('$') |
-      \   exe "normal! g`\"" |
-      \ endif
+" Restore last cursor position when open a file"{{{
+au MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif"}}}

-"全角スペースを表示
+" highlight Zenkaku space"{{{
 function! ZenkakuSpace()
   highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey
-  "全角スペースを明示的に表示する
   silent! match ZenkakuSpace /　/
 endfunction

 if has('syntax')
   autocmd MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
-endif
+endif"}}}

-"grep,tagsのためカレントディレクトリをファイルと同じディレクトリに移動する
-" autochdirが存在しないが、カレントディレクトリを移動したい場合
-au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
+" autochdir"{{{
+au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')"}}}

-"ctags用のディレクトリさかのぼって検索
-"set tags+=tags;
+" ctags
+" set tags+=tags;
 " set tag file. don't search tags in pwd and search upward
 set tags& tags-=tags tags+=./tags;
-if v:version < 703 || (v:version == 7.3 && !has('patch336'))
-  set notagbsearch
-endif

-" システム関数
+" use vimproc for system
 let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'

-" Compiler
-if ! s:is_windows
-  autocmd MyAutoCmd FileType javascript compiler gjslint
-endif
-autocmd MyAutoCmd FileType scala compiler sbt
+" compiler
+au MyAutoCmd FileType scala compiler sbt

-" function
-function! s:mkdir(dir)
-  if !isdirectory(a:dir)
-    call mkdir(a:dir, "p")
-  endif
-endfunction
+function! s:mkdir(dir)"{{{
+    if !isdirectory(a:dir)
+        call mkdir(a:dir, "p")
+    endif
+endfunction"}}}
 "===================================================================================}}}

 "{{{ ========== System ================================================================
-"ファイルの上書きの前にバックアップを作る/作らない
-"set writebackupを指定してもオプション 'backup' がオンでない限り、
-"バックアップは上書きに成功した後に削除される。
-"set nowritebackup
-"バックアップ/スワップファイルを作成する/しない
-"set nobackup
-"verbose
-"set verbose=9
-"バックアップディレクトリ
-let $MY_BACKUP_DIR = $MY_VIMRUNTIME.'/back'
+" backup directory
+let $MY_BACKUP_DIR = $MY_VIMRUNTIME . '/back'
 call s:mkdir($MY_BACKUP_DIR)

+" undo
 if version >= 703
-  "再読込、vim終了後も継続するアンドゥ(7.3)
-  set undofile
-  "アンドゥの保存場所(7.3)
-  set undodir=$MY_BACKUP_DIR
+    set undofile
+    set undodir=$MY_BACKUP_DIR
 endif
-"set noswapfile
-"viminfoを作成しない
-"set viminfo=
-"encoding
+" encoding
 set encoding=utf-8
 " クリップボードをデフォルトのレジスタとして指定。後にYankRingを使うので
 " 'unnamedplus'が存在しているかどうかで設定を分ける必要がある
-if has('unnamedplus')
   set clipboard& clipboard+=unnamedplus
-else
-  " set clipboard& clipboard+=unnamed,autoselect
-  set clipboard& clipboard+=unnamed
-endif
 " 新しく開く代わりにすでに開いてあるバッファを開く
 set switchbuf=useopen
 "8進数を無効にする。<C-a>,<C-x>に影響する
@@ -2211,6 +1816,58 @@ endif

 "===================================================================================}}}

+if neobundle#tap('foldCC')
+
+    call neobundle#config({})
+
+    function! neobundle#tapped.hooks.on_source(bundle)
+    endfunction
+
+    set foldmethod=marker
+    set foldtext=foldCC#foldtext()
+    set foldcolumn=0
+    set fillchars=vert:\|
+    nnoremap <expr>l  foldclosed('.') != -1 ? 'zo' : 'l'
+    nnoremap <silent><C-_> :<C-u>call <SID>smart_foldcloser()<CR>
+    function! s:smart_foldcloser() "{{{
+        if foldlevel('.') == 0
+            norm! zM
+            return
+        endif
+
+        let foldc_lnum = foldclosed('.')
+        norm! zc
+        if foldc_lnum == -1
+            return
+        endif
+
+        if foldclosed('.') != foldc_lnum
+            return
+        endif
+        norm! zM
+    endfunction
+    "}}}
+    nnoremap  z[     :<C-u>call <SID>put_foldmarker(0)<CR>
+    nnoremap  z]     :<C-u>call <SID>put_foldmarker(1)<CR>
+    function! s:put_foldmarker(foldclose_p) "{{{
+        let crrstr = getline('.')
+        let padding = crrstr=='' ? '' : crrstr=~'\s$' ? '' : ' '
+        let [cms_start, cms_end] = ['', '']
+        let outside_a_comment_p = synIDattr(synID(line('.'), col('$')-1, 1), 'name') !~? 'comment'
+        if outside_a_comment_p
+            let cms_start = matchstr(&cms,'\V\s\*\zs\.\+\ze%s')
+            let cms_end = matchstr(&cms,'\V%s\zs\.\+')
+        endif
+        let fmr = split(&fmr, ',')[a:foldclose_p]. (v:count ? v:count : '')
+        exe 'norm! A'. padding. cms_start. fmr. cms_end
+    endfunction
+    "}}}
+    nnoremap <silent>z<C-_>    zMzvzc
+    nnoremap <silent>z0    :<C-u>set foldlevel=<C-r>=foldlevel('.')<CR><CR>
+
+    call neobundle#untap()
+endif
+
 "{{{ ========== Language Settings =====================================================
 " python
 "http://d.hatena.ne.jp/over80/20090305/1236264851#20090305f1
diff --git a/vim/.vimrc_momonga b/vim/.vimrc_momonga
new file mode 100644
index 0000000..c867f81
--- /dev/null
+++ b/vim/.vimrc_momonga
@@ -0,0 +1,1977 @@
+" Kanari Sugoi .vimrc
+
+" Rules  {{{
+
+" Mapping  {{{
+"
+" * Emacs-like mapping
+"    - If the command is not countable or motion,
+"      it should be mapped with "<Space>" or "<C-c>" prefixed binding
+"    - The command for global scene should be mapped with "<Space>" prefix,
+"      but the command which depends on buftype or filetype should be mapped with
+"      "<C-c>" prefix.
+"    - Separating global and buffer/file local is very important to use
+"      mappings efficiency.
+"
+" }}}
+
+" NeoBundle  {{{
+"
+" * Managing
+"   - Options for "NeoBundleLazy" should be only "build", "depends", and other
+"     options which are only related of installing, building, and updating.
+"   - Other options such as "autoload" and plugin's own settings should be
+"     set in their each "neobundle#tap()" sections.
+"   - Separating plugins' list and their configuration sections is very
+"     important.
+"
+" }}}
+
+" }}}
+
+" Basic  {{{
+
+" Absolute {{{
+
+" Use VIM features instead of vi
+" It canses many side effects, so you need to write the top of the ".vimrc".
+set nocompatible
+
+" Reset Autocmd group
+augroup MyAutoCmd
+  autocmd!
+augroup END
+
+" To use camel_case.
+let g:My = {}
+let s:my = g:My
+
+" Echo startup time on start
+if has('vim_starting') && has('reltime')
+  let g:startuptime = reltime()
+  augroup MyAutoCmd
+    autocmd! VimEnter * let g:startuptime = reltime(g:startuptime) | redraw
+    \ | echomsg 'startuptime: ' . reltimestr(g:startuptime)
+  augroup END
+endif
+
+" .vim folder
+" Maybe I will never use other os than OS X...
+if has('unix')
+  let $VIM_DOTVIM_DIR=expand('~/.vim')
+else
+  let $VIM_DOTVIM_DIR=expand('~/.vim')
+endif
+
+let $MYVIMRC = resolve(expand('~/.vimrc'))
+
+let $VIM_REMOTE_BUNDLE_DIR = $VIM_DOTVIM_DIR . '/bundle'
+let $VIM_LOCAL_BUNDLE_DIR = $VIM_DOTVIM_DIR . '/local_bundle'
+let $VIM_NEOBUNDLE_DIR = $VIM_REMOTE_BUNDLE_DIR . '/neobundle.vim'
+
+let $VIM_SWAP_DIR = $VIM_DOTVIM_DIR . '/tmp/swap'
+let $VIM_BACKUP_DIR = $VIM_DOTVIM_DIR . '/tmp/backup'
+let $VIM_UNDO_DIR = $VIM_DOTVIM_DIR . '/tmp/undo'
+
+
+" }}}
+
+" Encoding  {{{
+"
+let &termencoding = &encoding
+set encoding=utf-8
+set fileencoding=utf-8
+set fileencodings=ucs-bom,utf-8,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932
+set fileformats=unix,dos,mac
+
+" }}}
+
+" Functions  {{{
+
+function! s:set(variable, value) "  {{{
+  execute printf("let &%s = a:value", a:variable)
+endfunction " }}}
+
+function! s:path_separator() " {{{
+  if has('win32') || has('win64')
+    return ';'
+  else
+    return ':'
+  endif
+endfunction " }}}
+
+function! s:prepend_path(current, path) "  {{{
+  return a:current == '' ?
+        \ a:path : a:path . s:path_separator() . a:current
+endfunction " }}}
+
+function! s:append_path(current, path) "  {{{
+  return a:current == '' ?
+        \ a:path : ( a:current . s:path_separator() . a:path )
+endfunction " }}}
+
+function! s:dirname(path) "  {{{
+  return fnamemodify(a:path, ':h')
+endfunction " }}}
+
+function! s:get_list(scope, name) "  {{{
+   return get(a:scope, a:name, [])
+endfunction " }}}
+
+function! s:add_to_uniq_list(list, element) "  {{{
+  return index(a:list, a:element) == -1 ?
+        \ add(a:list, a:element) :
+        \ a:list
+endfunction " }}}
+
+function! SelectInteractive(question, candidates) " {{{
+  try
+    let a:candidates[0] = toupper(a:candidates[0])
+    let l:select = 0
+    while index(a:candidates, l:select, 0, 1) == -1
+      let l:select = input(a:question . ' [' . join(a:candidates, '/') . '] ')
+      if l:select == ''
+        let l:select = a:candidates[0]
+      endif
+    endwhile
+    return tolower(l:select)
+  finally
+    redraw!
+  endtry
+endfunction " }}}
+
+function! BufferWipeoutInteractive() " {{{
+  if &modified == 1
+    let l:selected = SelectInteractive('Buffer is unsaved. Force quit?', ['n', 'w', 'y'])
+    if l:selected == 'w'
+      write
+      bwipeout
+    elseif l:selected == 'y'
+      bwipeout!
+    endif
+  else
+    bwipeout
+  endif
+endfunction " }}}
+
+" }}}
+
+" Environment Variables {{{
+
+let $PATH = s:append_path($PATH, '~/bin')
+let $PATH = s:prepend_path($PATH, '/usr/local/bin')
+let $PATH = s:append_path($PATH, '/Applications/MacVim.app/Contents/MacOS')
+let $PATH = s:append_path($PATH, '/Applications/Octave.app/Contents/Resources/bin')
+
+" Automatic detect current ruby's bin directory.
+" Including "gem", "rails", and others.
+let $PATH = s:append_path($PATH, s:dirname(resolve('/usr/local/bin/ruby')))
+
+" Gnuterm
+let $GNUTERM = 'x11'
+
+" Drip the JVM process manager
+if executable('drip')
+  let $JAVACMD = '/usr/local/bin/drip'
+  let $DRIP_INIT_CLASS = 'org.jruby.main.DripMain'
+  let $JRUBY_OPTS = '-J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xverify:nine'
+  " let $JAVA_OPTS = '-d32 -client'
+endif
+
+" Java {{{
+
+" It's necessary to show Japanese messages from JDK
+let $LANG = 'ja_JP.UTF-8'
+
+" Set JAVA_HOME to select your favorite JDK version.
+let $JAVA_HOME = '/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home'
+let $CLASSPATH = s:append_path($CLASSPATH, '.')
+
+" The directory which contains `jfxrt.jar`.
+" Note that in JDK8, `jfxrt.jar` is in ext folder
+if match($JAVA_HOME, 'jdk1.8') != -1
+  let $JFX_DIR = $JAVA_HOME . '/jre/lib/ext/'
+else
+  let $JFX_DIR = $JAVA_HOME . '/jre/lib/'
+endif
+
+" }}}
+
+" }}}
+
+" Appearance UI  {{{
+
+" Don't ring a bell and flash
+set vb t_vb=
+
+" Show line number
+set number
+
+" Always show tab
+set showtabline=2
+
+" Show invisible chars
+set list
+
+" When input close bracket, show start bracket
+set showmatch
+
+" Fix zenkaku chars' width
+set ambiwidth=double
+
+" }}}
+
+" Appearance Font  {{{
+
+set gfn=セプテンバーＭ-等幅:h14
+set gfw=セプテンバーＭ-等幅:h14
+
+" }}}
+
+" Appearance Color theme  {{{
+
+colorscheme desert
+
+" }}}
+
+" Syntax  {{{
+
+" }}}
+
+" Backup  {{{
+
+call s:set('directory', $VIM_SWAP_DIR)
+call s:set('backupdir', $VIM_BACKUP_DIR)
+call s:set('undodir', $VIM_UNDO_DIR)
+
+if has('persistent_undo')
+  set undodir=./.vimundo,$VIM_UNDO_DIR
+  autocmd MyAutoCmd BufReadPre ~/* setlocal undofile
+endif
+
+" }}}
+
+" History  {{{
+
+" Command history
+set history=10000
+
+" }}}
+
+" Restore{{{
+
+" Restore last cursor position when open a file
+autocmd MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
+
+" }}}
+
+" }}}
+
+" Edit  {{{
+
+" Indent  {{{
+
+" Use Space instead of Tab to make indent
+set expandtab
+
+" TODO: Width of tab?
+" TODO: Ato de yoku shiraberu.
+set tabstop=2
+
+" Hoe many spaces to each indent level
+set shiftwidth=2
+
+" Automatically adjust indent
+set autoindent
+
+" Automatically indent when insert a new line
+set smartindent
+
+" Insert an indent when keydown <Tab> in indent spaces
+set smarttab
+
+" Symbols to use indent or other
+" NOTE: kakkoii unicode moji
+" - http://unicode-table.com/en/sections/dingbats/
+" - http://unicode-table.com/en/sections/spacing-modifier-letters/
+" 		test
+set listchars=tab:❯\ ,trail:˼,extends:»,precedes:«,nbsp:%
+
+" }}}
+
+" Movement  {{{
+" BS can delete newline or indent
+set backspace=indent,eol,start
+" Can move at eol, bol
+set whichwrap=b,s,h,l,<,>,[,]
+" }}}
+
+" Folding  {{{
+
+" Use marker to fold
+" e.g. {{{kanari_sugoi_code}}}
+" TODO: [Problem] When I input close marker which is "}" three times,
+"       the all foldings after that will be opened... Kanari fuben.
+set foldmethod=marker
+
+" Open folding when move in to one
+" set foldopen=all
+
+" Close folding when move out of one
+set foldclose=all
+
+" }}}
+
+" Search  {{{
+
+" incremental search
+set incsearch
+
+" Match words with ignore upper-lower case
+set ignorecase
+
+" Don't think upper-lower case until upper-case input
+set smartcase
+
+" Highlight searched words
+set hlsearch
+
+" }}}
+
+" Buffer Handling  {{{
+
+" Can change buffer in window no matter buffer is unsaved
+set hidden
+
+" }}}
+
+" Spelling  {{{
+
+" Enable spell checker for English words
+set spell spelllang=en_us
+
+" }}}
+
+" TODO: Input Method  {{{
+
+" TODO: Disable Japanese input mode when exit from the insert mode
+
+" }}}
+
+" Basic Key Mapping  {{{
+
+" [Emacs] Increment, Decrement by -, +
+" Because I want to use <C-x> for Emacs-like mapping
+" For test: [1, 6]
+nnoremap +  <C-a>
+nnoremap -  <C-x>
+
+" [Emacs] <C-x>k to close buffer completely
+" nnoremap <C-x>k  :bw<CR>
+nnoremap <C-x>k  :call BufferWipeoutInteractive()<CR>
+
+" [Emacs] <C-e> to end of line
+nnoremap <C-e>  $
+
+" [Emacs] <C-k> to delete a line
+nnoremap <C-k>  dd
+
+" Toggle 0 and ^
+nnoremap <expr>0  col('.') == 1 ? '^' : '0'
+nnoremap <expr>^  col('.') == 1 ? '^' : '0'
+
+" : without <Shift>
+nnoremap ;  :
+vnoremap ;  :
+
+" _ : Quick horizontal splits
+nnoremap _  :sp<CR>
+
+" | : Quick vertical splits
+nnoremap <bar>  :vsp<CR>
+
+" N: Find next occurrence backward
+nnoremap N  Nzzzv
+nnoremap n  nzzzv
+
+" Backspace: Act like normal backspace
+" TODO: Mac OS X doesn't have <BS>. have delete key.
+nnoremap <BS>  X
+
+" cmdwin
+nnoremap :  q:i
+
+" TODO: Move those settings to right section
+autocmd MyAutoCmd CmdwinEnter [:>] iunmap <buffer> <Tab>
+autocmd MyAutoCmd CmdwinEnter [:>] nunmap <buffer> <Tab>
+
+" JK peropero
+" Use logical move instead of physical ones
+nnoremap j gj
+nnoremap k gk
+
+" Easy to make selection to pars
+" TODO: u-n, iranai kamo...
+onoremap ) f)
+onoremap ( t(
+
+" Insert space in normal mode easily
+nnoremap <C-l>  i<Space><Esc><Right>
+nnoremap <C-h>  i<Space><Esc>
+
+" }}}
+
+" Filetype setting  {{{
+
+autocmd MyAutoCmd BufRead,BufNewFile *.md  setfiletype markdown
+
+" }}}
+
+" }}}
+
+" Plugins  {{{
+
+" Secret  {{{
+
+" This file contains only g:vimrc_secrets.
+if filereadable(expand('~/.secret_vimrc'))
+  let g:vimrc_secrets = {}
+  execute 'source' expand('~/.secret_vimrc')
+endif
+
+" }}}
+
+" Setup  {{{
+
+" To use NeoBundle, manually add to runtimepath
+if has('vim_starting')
+  set runtimepath+=$VIM_NEOBUNDLE_DIR
+  " To load my local development plugin
+  call neobundle#local(expand($VIM_LOCAL_BUNDLE_DIR), { 'resettable' : 0 })
+endif
+" To load remote plugin
+call neobundle#rc(expand($VIM_REMOTE_BUNDLE_DIR))
+
+" Let NeoBundle manage NeoBundle
+NeoBundleFetch 'Shougo/neobundle.vim'
+
+
+
+" }}}
+
+" List  {{{
+
+NeoBundle 'Shougo/vimproc.vim', { 'build' : {
+      \   'windows' : 'mingw32-make -f make_mingw32.mak',
+      \   'cygwin'  : 'make -f make_cygwin.mak',
+      \   'mac'     : 'make -f make_mac.mak',
+      \   'unix'    : 'make -f make_unix.mak',
+      \ }}
+NeoBundle 'vim-jp/vital.vim'
+NeoBundle 'bling/vim-airline'
+NeoBundle 'surround.vim'
+NeoBundle 'kana/vim-repeat'
+NeoBundle 'kana/vim-submode'
+NeoBundle 'kana/vim-textobj-user'
+NeoBundle 'kana/vim-textobj-entire', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'kana/vim-textobj-function', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'kana/vim-textobj-indent', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'rhysd/vim-textobj-ruby', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'osyo-manga/vim-textobj-multiblock', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'osyo-manga/vim-textobj-multitextobj', { 'depends' : 'kana/vim-textobj-user' }
+NeoBundle 'osyo-manga/vim-automatic', { 'depends' : [ 'osyo-manga/vim-gift', 'osyo-manga/vim-reunions' ] }
+NeoBundle 'osyo-manga/vim-reti', { 'depends' : [ 'osyo-manga/vim-chained' ] }
+NeoBundle 'osyo-manga/vim-anzu'
+NeoBundle 'jceb/vim-hier'
+NeoBundle 'LeafCage/foldCC'
+NeoBundle 'vim-jp/vimdoc-ja'
+NeoBundle 'tpope/vim-fugitive'
+NeoBundle 'gregsexton/gitv', { 'depends' : [ 'tpope/vim-fugitive' ] }
+NeoBundle 'tomtom/tcomment_vim'
+NeoBundle 'tpope/vim-rbenv'
+NeoBundle 'thinca/vim-scall'
+NeoBundle 'thinca/vim-singleton'
+NeoBundleLazy 'Shougo/unite.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
+NeoBundleLazy 'Shougo/vimshell.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
+NeoBundleLazy 'ujihisa/vimshell-ssh', { 'depends' : [ 'Shougo/vimshell.vim' ] }
+NeoBundleLazy 'Shougo/vimfiler.vim', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'Shougo/unite-ssh', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'Shougo/neosnippet.vim'
+NeoBundleLazy 'honza/vim-snippets'
+NeoBundleLazy 'matthewsimo/angular-vim-snippets'
+NeoBundleLazy 'Shougo/neocomplete.vim'
+NeoBundleLazy 'tsukkee/unite-help', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'Shougo/unite-outline', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'ujihisa/unite-colorscheme', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'ujihisa/unite-locate', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'osyo-manga/unite-quickfix', { 'depends' : [ 'Shougo/unite.vim' ] }
+NeoBundleLazy 'osyo-manga/vim-pronamachang', { 'depends' : [ 'osyo-manga/vim-sound', 'Shougo/vimproc.vim' ] }
+NeoBundleLazy 'osyo-manga/vim-sugarpot', { 'depends' : [ 'Shougo/vimproc.vim' ] }
+NeoBundleLazy 'h1mesuke/vim-alignta'
+NeoBundleLazy 'kana/vim-smartinput'
+NeoBundleLazy 'cohama/vim-smartinput-endwise', { 'depends' : [ 'kana/vim-smartinput' ] }
+NeoBundleLazy 'mattn/gist-vim', { 'depends' : [ 'mattn/webapi-vim' ] }
+NeoBundleLazy 'mattn/emmet-vim'
+NeoBundleLazy 'thinca/vim-prettyprint'
+NeoBundleLazy 'thinca/vim-quickrun'
+NeoBundleLazy 'thinca/vim-ref'
+NeoBundleLazy 'thinca/vim-qfreplace'
+NeoBundleLazy 'thinca/vim-editvar'
+NeoBundleLazy 'tyru/open-browser.vim'
+NeoBundleLazy 'yuratomo/w3m.vim'
+NeoBundleLazy 'rbtnn/vimconsole.vim'
+NeoBundleLazy 'groenewege/vim-less'
+NeoBundleLazy 'slim-template/vim-slim'
+NeoBundleLazy 'kchmck/vim-coffee-script'
+NeoBundleLazy 'dsawardekar/riml.vim'
+NeoBundleLazy 'LeafCage/vimhelpgenerator'
+
+" momonga's Kanari Sugoi Plugins
+NeoBundleLazy 'supermomonga/shaberu.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
+NeoBundleLazy 'supermomonga/vimshell-pure.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
+NeoBundleLazy 'supermomonga/vimshell-inline-history.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
+NeoBundleLazy 'supermomonga/vimshell-wakeup.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
+
+" Communication
+NeoBundleLazy 'basyura/J6uil.vim', { 'depends' : [ 'Shougo/vimproc.vim', 'mattn/webapi-vim' ] }
+NeoBundleLazy 'basyura/TweetVim', 'dev', { 'depends' : [
+      \   'tyru/open-browser.vim',
+      \   'basyura/twibill.vim',
+      \   'basyura/bitly.vim',
+      \   'Shougo/unite.vim',
+      \   'Shougo/unite-outline',
+      \   'Shougo/vimproc.vim',
+      \   'mattn/favstar-vim',
+      \   'mattn/webapi-vim'
+      \ ] }
+
+" Vim script
+NeoBundleLazy 'mopp/layoutplugin.vim'
+
+" Ruby
+NeoBundleLazy 'vim-ruby/vim-ruby'
+NeoBundleLazy 'taka84u9/vim-ref-ri', { 'depends' : [ 'Shougo/unite.vim', 'thinca/vim-ref' ] }
+NeoBundleLazy 'tpope/vim-rails'
+NeoBundleLazy 'basyura/unite-rails', { 'depends' : [ 'Shougo/unite.vim' ] }
+
+" Java
+NeoBundleLazy 'vim-scripts/javacomplete', {
+      \   'build': {
+      \     'cygwin': 'javac autoload/Reflection.java',
+      \     'mac': 'javac autoload/Reflection.java',
+      \     'unix': 'javac autoload/Reflection.java'
+      \   },
+      \ }
+
+" TODO: Windows build command to get .ctags
+NeoBundleLazy 'alpaca-tc/alpaca_tags', {
+      \   'depends' : [ 'Shougo/vimproc.vim' ],
+      \   'build' : {
+      \     'mac' : 'wget https://raw.github.com/alpaca-tc/alpaca_tags/master/.ctags -O ~/.ctags',
+      \     'unix' : 'wget https://raw.github.com/alpaca-tc/alpaca_tags/master/.ctags -O ~/.ctags',
+      \   }
+      \ }
+
+
+
+" TODO: atode settei simasu...
+" NeoBundleLazy 'tpope/vim-markdown'
+" NeoBundleLazy 'tsukkee/lingr-vim'
+
+
+" Disable some local bundles
+NeoBundleDisable vimshell-kawaii.vim
+NeoBundleDisable vimshell-scopedalias.vim
+NeoBundleDisable unite-vacount2012.vim
+NeoBundleDisable vimshell-suggest.vim
+
+
+" Required to use
+filetype plugin indent on
+
+" }}}
+
+" Plugin Configurations  {{{
+
+if neobundle#tap('vital.vim') " {{{
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:V = vital#of('vital')
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [
+        \       {
+        \         'name' : 'Unite',
+        \         'complete' : 'customlist,unite#complete_source'
+        \       },
+        \       'UniteWithCursorWord',
+        \       'UniteWithInput'
+        \     ]
+        \   }
+        \ })
+
+  function! s:unite_menu_map_func(key, value)
+    let [word, value] = a:value
+    if isdirectory(value)
+      return {
+            \   'word' : '[directory] ' . word,
+            \   'kind' : 'directory',
+            \   'action__directory' : value
+            \ }
+    elseif !empty(glob(value))
+      return {
+            \   'word' : '[file] ' . word,
+            \   'kind' : 'file',
+            \   'default_action' : 'tabdrop',
+            \   'action__path' : value,
+            \ }
+    else
+      return {
+            \   'word' : '[command] ' . word,
+            \   'kind' : 'command',
+            \   'action__command' : value
+            \ }
+    endif
+  endfunction
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+
+    " General
+    let g:unite_force_overwrite_statusline = 0
+    let g:unite_kind_jump_list_after_jump_scroll=0
+    let g:unite_enable_start_insert = 0
+    let g:unite_source_rec_min_cache_files = 1000
+    let g:unite_source_rec_max_cache_files = 5000
+    let g:unite_source_file_mru_long_limit = 100000
+    let g:unite_source_file_mru_limit = 100000
+    let g:unite_source_directory_mru_long_limit = 100000
+    let g:unite_prompt = '❯ '
+
+    " Unite-menu
+    let g:unite_source_menu_menus = get(g:, 'unite_source_menu_menus', {})
+    let g:unite_source_menu_menus.global = { 'description' : 'global shortcut' }
+    let g:unite_source_menu_menus.unite = { 'description' : 'unite shortcut' }
+    let g:unite_source_menu_menus.global.map = function('s:unite_menu_map_func')
+    let g:unite_source_menu_menus.unite.map = function('s:unite_menu_map_func')
+    let g:unite_source_menu_menus.global.candidates = [
+          \   [ '[edit] vimrc' , $MYVIMRC ],
+          \   [ '[edit] secret_vimrc' , expand('~/.secret_vimrc') ],
+          \   [ '[terminal] VimShell' , ':VimShell' ],
+          \   [ '[twitter] TweetVim' , ':Unite tweetvim' ],
+          \   [ '[lingr] J6uil' , ':J6uil' ],
+          \ ]
+    let g:unite_source_menu_menus.unite.candidates = [
+          \   [ 'neobundle/update' , ':Unite neobundle/update -log' ],
+          \   [ 'neobundle/install' , ':Unite neobundle/install -log' ],
+          \   [ 'J6uil/rooms' , ':Unite J6uil/rooms' ],
+          \   [ 'J6uil/members' , ':Unite J6uil/members' ],
+          \   [ 'TweetVim' , ':Unite tweetvim' ],
+          \   [ 'files', ':Unite -start-insert -buffer-name=files buffer_tab file file_mru'],
+          \   [ 'function', ':Unite -start-insert -default-action=edit function'],
+          \   [ 'variable', ':Unite -start-insert -default-action=edit variable'],
+          \   [ 'outline', ':Unite -start-insert outline'],
+          \   [ 'help', ':Unite -start-insert help'],
+          \   [ 'buffer', ':Unite -start-insert buffer'],
+          \   [ 'line', ':Unite -start-insert -auto-preview -buffer-name=search line'],
+          \   [ 'quickfix', ':Unite -no-split -no-quit -auto-preview quickfix'],
+          \   [ 'grep', ':Unite grep -no-quit'],
+          \   [ 'source', ':Unite -start-insert source'],
+          \   [ 'locate', ':Unite -start-insert locate'],
+          \   [ 'theme', ':Unite -auto-preview colorscheme'],
+          \ ]
+
+  endfunction
+
+  nnoremap <silent> <Space>u  :<C-u>Unite -start-insert menu:unite<CR>
+  nnoremap <silent> <Space>m  :<C-u>Unite -start-insert menu:global<CR>
+  nnoremap <silent> <Space>f  :<C-u>Unite -start-insert -buffer-name=files buffer_tab file_mru<CR>
+  nnoremap <silent> <Space>b  :<C-u>Unite -start-insert buffer<CR>
+  nnoremap <silent> <Space>s  :<C-u>Unite -start-insert -auto-preview -no-split -buffer-name=search line<CR>
+  nnoremap <silent> <Space>l  :<C-u>Unite -start-insert locate<CR>
+  nnoremap <silent> <Space>g  :<C-u>Unite grep -no-quit<CR>
+
+  " TODO: Should those mappings be moved to their own setting section?
+  " That seems collect but it provides better look of the Unite-source
+  " mappings list.
+  if neobundle#is_installed('unite-quickfix')
+    nnoremap <silent> <Space>q  :<C-u>Unite -no-quit -auto-preview -no-split quickfix<CR>
+  endif
+  if neobundle#is_installed('unite-help')
+    nnoremap <silent> <Space>o  :<C-u>Unite -start-insert -auto-preview
+          \ -no-split outline<CR>
+  endif
+  if neobundle#is_installed('unite-outline')
+    nnoremap <silent> <Space>h  :<C-u>Unite -start-insert help<CR>
+  endif
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimfiler.vim') " {{{
+  call neobundle#config({
+        \ 'autoload' : {
+        \   'commands' : [
+        \     { 'name' : 'VimFiler', 'complete' : 'customlist,vimfiler#complete' },
+        \     { 'name' : 'VimFilerExplorer', 'complete' : 'customlist,vimfiler#complete' },
+        \     { 'name' : 'Edit', 'complete' : 'customlist,vimfiler#complete' },
+        \     { 'name' : 'Write', 'complete' : 'customlist,vimfiler#complete' },
+        \     'Read',
+        \     'Source'
+        \   ],
+        \   'mappings' : '<Plug>(vimfiler_',
+        \   'explorer' : 1,
+        \ }
+        \ })
+
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:vimfiler_safe_mode_by_default = 0
+  let g:unite_kind_file_use_trashbox = 1
+  let g:vimfiler_as_default_explorer = 1
+  let g:vimfiler_as_default_explorer = 1
+
+  nnoremap <Space>e  :<C-u>VimFilerExplorer -winwidth=65<CR>
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-quickfix') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'quickfix',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-outline') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'outline',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-help') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'help',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-ssh') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'ssh',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-colorscheme') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'colorscheme',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-locate') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'locate',
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('shaberu.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'ShaberuSay', 'ShaberuMuteOn', 'ShaberuMuteOff', 'ShaberuMuteToggle' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:shaberu_user_define_say_command = 'say-openjtalk "%%TEXT%%"'
+
+  " Vim core
+  autocmd MyAutoCmd VimEnter * ShaberuSay 'ビムにようこそ'
+  autocmd MyAutoCmd VimLeave * ShaberuSay 'さようなら'
+
+  " VimShell
+  autocmd MyAutoCmd FileType vimshell
+        \ call vimshell#hook#add('chpwd' , 'my_vimshell_chpwd' , reti#lambda(":ShaberuSay 'よっこいしょ'"))
+        \| call vimshell#hook#add('emptycmd', 'my_vimshell_emptycmd', reti#lambda(":call shaberu#say('コマンドを入力してください') | return a:1"))
+        \| call vimshell#hook#add('notfound', 'my_vimshell_notfound', reti#lambda(":call shaberu#say('コマンドが見つかりません') | return a:1"))
+
+  " .vimrc保存時に自動的にsource
+  autocmd MyAutoCmd BufWritePost .vimrc nested source $MYVIMRC | ShaberuSay 'ビムアールシーを読み込みました'
+  " 開発用ディレクトリ内.vimファイルに関して、ファイル保存時に自動でsourceする
+  execute 'autocmd MyAutoCmd BufWritePost,FileWritePost' $VIM_LOCAL_BUNDLE_DIR . '*.vim' 'source <afile> | echo "sourced : " . bufname("%") | ShaberuSay "ソースしました"'
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimshell.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'VimShell', 'VimShellPop' ]
+        \   }
+        \ })
+
+  " function! neobundle#tapped.hooks.on_source(bundle)
+  "   let g:unite_source_vimshell_external_history_path = expand('~/.zsh_history')
+  " endfunction
+
+  nnoremap <C-x><C-v>  :<C-u>VimShellPop -toggle<CR>
+  inoremap <C-x><C-v>  :<C-u>VimShellPop -toggle<CR>
+  nnoremap <Space>vp  :<C-u>VimShellPop -toggle<CR>
+  nnoremap <Space>vb  :<C-u>VimShellBufferDir<CR>
+  nnoremap <Space>vd  :<C-u>VimShellCurrentDir<CR>
+  nnoremap <Space>vv  :<C-u>VimShell<CR>
+
+  " buffer local mapping
+  function! s:my_vimshell_mappings()
+    imap <buffer> <C-e>  <ESC>$a
+    imap <buffer> <C-d>  <ESC><Right>xa
+  endfunction
+  autocmd MyAutoCmd FileType vimshell call s:my_vimshell_mappings()
+
+  " Run VimShell when launch Vim
+  autocmd MyAutoCmd VimEnter * VimShell
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimshell-pure.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'on_source' : [ 'vimshell.vim' ]
+        \   }
+        \ })
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimshell-inline-history.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'on_source' : [ 'vimshell.vim' ]
+        \   }
+        \ })
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimshell-wakeup.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'on_source' : [ 'vimshell.vim' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:vimshell_wakeup_shaberu_text = 'おわだよ'
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-textobj-multiblock') " {{{
+
+  call neobundle#config({})
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:textobj_multiblock_blocks = [
+        \   ['(', ')', 1],
+        \   ['[', ']', 1],
+        \   ['{', '}', 1],
+        \   ['<', '>', 1],
+        \   ['"', '"', 1],
+        \   ["'", "'", 1],
+        \   ['`', '`', 1],
+        \   ['|', '|', 1],
+        \ ]
+
+        " Couldn't use multiple chars
+        " \   ['if', 'elsif'],
+        " \   ['if', 'else'],
+        " \   ['if', 'end'],
+        " \   ['elsif', 'end'],
+        " \   ['elsif', 'elsif'],
+        " \   ['elsif', 'else'],
+        " \   ['else', 'end'],
+        " \   ['do', 'end'],
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('neocomplete.vim') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'insert' : 1,
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  " Enable at startup
+  let g:neocomplete#enable_at_startup = 1
+
+  " Smartcase
+  let g:neocomplete#enable_smart_case = 1
+
+  " Enable _ separated completion
+  let g:neocomplete_enable_underbar_completion = 1
+
+  " Minimum length to cache
+  let g:neocomplete_min_syntax_length = 3
+
+  " Max size of candidates to show
+  let g:neocomplete#max_list = 1000
+
+  " How many length to need to start completion
+  let g:neocomplete_auto_completion_start_length = 2
+
+  " Auto select the first candidate
+  " let g:neocomplete_enable_auto_select = 1
+
+  " Force to overwrite complete func
+  let g:neocomplete_force_overwrite_completefunc = 1
+
+  " let g:neocomplete_enable_camel_case_completion = 1
+  let g:neocomplete#skip_auto_completion_time = '0.2'
+
+  " Cancel and close popup
+  " imap <expr><C-g> neocomplete#cancel_popup()
+
+  " Omni completion patterns
+  let g:neocomplete#force_omni_input_patterns = get(g:, 'neocomplete#force_omni_input_patterns', {})
+  let g:neocomplete#force_omni_input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
+
+  " Omni completion functions
+  let g:neocomplete#sources#omni#functions = get(g:, 'neocomplete#sources#omni#functions', {})
+  let g:neocomplete#sources#omni#functions.ruby = 'rubycomplete#Complete'
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('neosnippet.vim') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'insert' : 1,
+        \     'filetype' : 'snippet',
+        \     'commands' : [ 'NeoSnippetEdit', 'NeoSnippetSource' ],
+        \     'filetypes' : [ 'nsnippet' ],
+        \     'unite_sources' :
+        \       ['snippet', 'neosnippet/user', 'neosnippet/runtime']
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:neosnippet#enable_snipmate_compatibility = 1
+  " My original snippets
+  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
+        \   s:get_list(g:, 'neosnippet_snippets_directories'),
+        \   '~/.vim/snippets'
+        \ )
+  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
+  " <CR> to expand snippet if can
+  imap <expr><CR> !pumvisible() ? "\<CR>" :
+        \ neosnippet#expandable() ? "\<Plug>(neosnippet_expand)" :
+        \ neocomplete#close_popup()
+  " supertab.
+  imap <expr><TAB> pumvisible() ? "\<C-n>" :
+        \ neosnippet#jumpable() ? "\<Plug>(neosnippet_jump)" :
+        \ "\<TAB>"
+  smap <expr><TAB> pumvisible() ? "\<C-n>" :
+        \ neosnippet#jumpable() ? "\<Plug>(neosnippet_jump)" :
+        \ "\<TAB>"
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-snippets') " {{{
+
+  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
+        \   s:get_list(g:, 'neosnippet_snippets_directories'),
+        \   $VIM_REMOTE_BUNDLE_DIR . '/vim-snippets/snippets'
+        \ )
+  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('angular-vim-snippets') " {{{
+
+  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
+        \   s:get_list(g:, 'neosnippet_snippets_directories'),
+        \   $VIM_REMOTE_BUNDLE_DIR . '/angular-vim-snippets/snippets'
+        \ )
+  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-alignta') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : ['Alignta'],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('foldCC') " {{{
+
+  call neobundle#config({})
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  set foldmethod=marker
+  set foldtext=FoldCCtext()
+  set foldcolumn=0
+  set fillchars=vert:\|
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('tcomment_vim') " {{{
+
+  call neobundle#config({})
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-smartinput') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'insert' : 1
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    call smartinput#clear_rules()
+    call smartinput#define_default_rules()
+  endfunction
+
+  function! neobundle#tapped.hooks.on_post_source(bundle)
+    call smartinput_endwise#define_default_rules()
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-smartinput-endwise') " {{{
+
+
+  function! neobundle#tapped.hooks.on_post_source(bundle)
+    " neosnippet and neocomplete compatible
+    call smartinput#map_to_trigger('i', '<Plug>(my_cr)', '<Enter>', '<Enter>')
+    imap <expr><CR> !pumvisible() ? "\<Plug>(my_cr)" :
+          \ neosnippet#expandable() ? "\<Plug>(neosnippet_expand)" :
+          \ neocomplete#close_popup()
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-submode') " {{{
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:submode_keep_leaving_key = 1
+    " tab moving
+    call submode#enter_with('changetab', 'n', '', 'gt', 'gt')
+    call submode#enter_with('changetab', 'n', '', 'gT', 'gT')
+    call submode#map('changetab', 'n', '', 't', 'gt')
+    call submode#map('changetab', 'n', '', 'T', 'gT')
+    " undo/redo
+    call submode#enter_with('undo/redo', 'n', '', '<C-r>', '<C-r>')
+    call submode#enter_with('undo/redo', 'n', '', 'u', 'u')
+    call submode#map('undo/redo', 'n', '', '<C-r>', '<C-r>')
+    call submode#map('undo/redo', 'n', '', 'u', 'u')
+    " move between fold
+    call submode#enter_with('movefold', 'n', '', 'zj', 'zjzMzvzz')
+    call submode#enter_with('movefold', 'n', '', 'zk', 'zkzMzv[zzz')
+    call submode#map('movefold', 'n', '', 'j', 'zjzMzvzz')
+    call submode#map('movefold', 'n', '', 'k', 'zkzMzv[zzz')
+    " resize window
+    call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')
+    call submode#enter_with('winsize', 'n', '', '<C-w><', '<C-w><')
+    call submode#enter_with('winsize', 'n', '', '<C-w>+', '<C-w>+')
+    call submode#enter_with('winsize', 'n', '', '<C-w>-', '<C-w>-')
+    call submode#map('winsize', 'n', '', '>', '<C-w>>')
+    call submode#map('winsize', 'n', '', '<', '<C-w><')
+    call submode#map('winsize', 'n', '', '+', '<C-w>+')
+    call submode#map('winsize', 'n', '', '-', '<C-w>-')
+    " TODO: Repeat last executed macro
+    " call submode#enter_with('macro/a', 'n', '', '@a', '@a')
+    " call submode#map('macro/a', 'n', '', 'a', '@a')
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('open-browser.vim') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'OpenBrowser', 'OpenBrowserSearch', 'OpenBrowserSmartSearch' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-anzu') " {{{
+
+  call neobundle#config({})
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  " Treat folding well
+  nnoremap <expr> n anzu#mode#mapexpr('n', '', 'zzzv')
+  nnoremap <expr> N anzu#mode#mapexpr('N', '', 'zzzv')
+
+  " Start search with anzu
+  nmap * <Plug>(anzu-star-with-echo)
+  nmap # <Plug>(anzu-sharp-with-echo)
+
+  " clear status
+  " nmap <Esc><Esc> <Plug>(anzu-clear-search-status)
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-automatic') " {{{
+
+  call neobundle#config({})
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  nnoremap <silent> <Plug>(quit) :<C-u>q<CR>
+  function! s:my_temporary_window_init(config, context)
+    nmap <buffer> <C-[>  <Plug>(quit)
+    " echo a:config
+    " echo a:context
+  endfunction
+
+  let g:automatic_enable_autocmd_Futures = {}
+  let g:automatic_default_match_config = {
+        \   'is_open_other_window' : 1,
+        \ }
+  let g:automatic_default_set_config = {
+        \   'height' : '60%',
+        \   'move' : 'bottom',
+        \   'apply' : function('s:my_temporary_window_init')
+        \ }
+        " \   { 'match' : { 'bufname' : '^.unite' } },
+  let g:automatic_config = [
+        \   { 'match' : { 'buftype' : 'help' } },
+        \   { 'match' : { 'bufname' : '^.vimshell' } },
+        \   { 'match' : {
+        \      'autocmd_history_pattern' : 'BufWinEnterFileType$',
+        \      'filetype' : 'unite'
+        \     }
+        \   },
+        \   {
+        \     'match' : { 'bufname' : '^vimfiler' },
+        \     'set' : { 'unsettings' : [ 'resize' ], 'move' : 'left'}
+        \   },
+        \   {
+        \     'match' : {
+        \       'filetype' : 'tweetvim_say',
+        \       'autocmds' : [ 'FileType' ]
+        \     },
+        \     'set' : {
+        \       'height' : '8'
+        \     }
+        \   },
+        \   {
+        \     'match' : {
+        \       'filetype' : 'J6uil_say',
+        \       'autocmds' : [ 'FileType' ]
+        \     },
+        \     'set' : {
+        \       'height' : '8'
+        \     }
+        \   },
+        \   {
+        \     'match' : {
+        \       'filetype' : 'vimconsole',
+        \       'autocmds' : [ 'FileType' ]
+        \     }
+        \   },
+        \   {
+        \     'match' : {
+        \       'filetype' : '\v^ref-.+',
+        \       'autocmds' : [ 'FileType' ]
+        \     }
+        \   },
+        \   {
+        \     'match' : {
+        \       'bufname' : '\[quickrun output\]',
+        \     },
+        \     'set' : {
+        \       'height' : 8,
+        \     }
+        \   },
+        \   {
+        \     'match' : {
+        \       'autocmds' : [ 'CmdwinEnter' ]
+        \     },
+        \     'set' : {
+        \       'is_close_focus_out' : 1,
+        \       'unsettings' : [ 'move', 'resize' ]
+        \     },
+        \   }
+        \ ]
+  " let g:automatic_config = [
+  "       \   {
+  "       \    'set' : {
+  "       \    'commands' : ['PP! a:context']
+  "       \    },
+  "       \   },
+  "       \ ]
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('gist-vim') " {{{
+
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : ['Gist'],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    " let g:gist_browser_command = 'w3m %URL%'
+  endfunction
+
+  let g:gist_open_browser_after_post = 1
+  let g:gist_clip_command = 'pbcopy'
+  let g:gist_detect_filetype = 1
+  let g:gist_show_privates = 1
+  let g:gist_post_private = 1
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-prettyprint') " {{{
+  call neobundle#config({
+        \   'autoload' : { 'commands' : ['PP'] }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-quickrun') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'mappings' : [ '<Plug>(quickrun)' ],
+        \     'commands' : [ 'QuickRun' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:quickrun_config = get(g:, 'quickrun_config', {})
+  let g:quickrun_config.markdown = {
+        \ 'outputter' : 'null',
+        \ 'command'   : 'open',
+        \ 'cmdopt'    : '-a',
+        \ 'args'      : 'Marked',
+        \ 'exec'      : '%c %o %a %s',
+        \ }
+  let g:quickrun_config.matlab = {
+        \ 'command'   : 'octave',
+        \ 'cmdopt'    : '--silent --persist',
+        \ 'hook/cd'   : 1,
+        \ 'exec'      : '%c %o %s'
+        \ }
+
+  " Prompt sample:
+  " octave-3.2.3:2>
+  let g:quickrun_config.matlab = {
+        \ 'command'   : 'octave',
+        \ 'cmdopt'    : "--silent --persist --eval \"PS1(\\\">> \\\")\"",
+        \ 'hook/cd'   : 1,
+        \ 'runner'    : 'process_manager',
+        \ 'runner/process_manager/load' : '%S:t:r',
+        \ 'runner/process_manager/prompt': '>>\s',
+        \ }
+        " \ 'runner/process_manager/prompt': 'octave-[0-9\.]\+:\d\+>\s',
+        " \ 'runner/process_manager/prompt': '>>\s',
+        " \ 'cmdopt'    : "--silent --persist --eval \"PS1(''>> '')\"",
+        " \ 'runner/process_manager/prompt': 'octave-[0-9\.]\+:\d\+>\s',
+
+  let g:quickrun_config.ruby = {
+    \ 'command': 'irb',
+    \ 'cmdopt': '--simple-prompt',
+    \ 'hook/cd': 1,
+    \ 'runner': 'process_manager',
+    \ 'runner/process_manager/load': "load %s",
+    \ 'runner/process_manager/prompt': '>>\s',
+    \ }
+
+  nnoremap <Space>r  :<C-u>QuickRun<CR>
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-scall') " {{{
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-singleton') " {{{
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    call singleton#enable()
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-textobj-multiblock') " {{{
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    omap ab <Plug>(textobj-multiblock-a)
+    omap ib <Plug>(textobj-multiblock-i)
+    vmap ab <Plug>(textobj-multiblock-a)
+    vmap ib <Plug>(textobj-multiblock-i)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-ref') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [{
+        \       'name' : 'Ref',
+        \       'complete' : 'customlist,ref#complete'
+        \     }],
+        \     'unite_sources' : [ 'ref' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:ref_open = 'split'
+  let g:ref_refe_cmd = '~/.vim/ref/ruby-refm-1.9.3-dynamic-20120829/refe-1_9_3'
+
+  aug MyAutoCmd
+    au FileType ruby,eruby,ruby.rspec,haml nnoremap <silent><buffer><Space>d  :<C-u>Unite -no-start-insert ref/refe ref/ri -auto-preview -default-action=below -input=<C-R><C-W><CR>
+  aug END
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-ref-ri') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
+        \     'unite_sources' : [ 'ref/ri' ]
+        \   },
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-qfreplace') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'Qfreplace' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-editvar') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'Editvar' ],
+        \     'unite_sources' : [ 'variable' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-endwise') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'ruby' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    " TODO: endwise is not working well. need to implement with smartinput
+
+    " let g:endwise_no_mappings = 1
+    " if maparg('<Space>','i') =~# '<C-R>=.*crend(.)<Space>\|<\%(Plug\|SNR\|SID\)>.*End'
+    "   " Already mapped
+    " elseif maparg('<Space>','i') =~ '<Space>'
+    "   exe "imap <script> <C-X><Space> ".maparg('<Space>','i')."<SID>AlwaysEnd"
+    "   exe "imap <script> <Space>      ".maparg('<Space>','i')."<SID>DiscretionaryEnd"
+    " elseif maparg('<Space>','i') =~ '<Plug>delimitMateCR'
+    "   exe "imap <C-X><Space> ".maparg('<Space>', 'i')."<Plug>AlwaysEnd"
+    "   exe "imap <Space> ".maparg('<Space>', 'i')."<Plug>DiscretionaryEnd"
+    " else
+    "   imap <C-X><Space> <Space><Plug>AlwaysEnd
+    "   imap <Space>      <Space><Plug>DiscretionaryEnd
+    " endif
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-ruby') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'mappings' : [ '<Plug>(ref-keyword)' ],
+        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-rails') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    nnoremap <Space>cm  :<C-u>Rmodel<CR>
+    nnoremap <Space>cv  :<C-u>Rview<CR>
+    nnoremap <Space>cc  :<C-u>Rcontroller<CR>
+    nnoremap <Space>cl  :<C-u>Rlayout<CR>
+    nnoremap <Space>ch  :<C-u>Rhelper<CR>
+    nnoremap <Space>cj  :<C-u>Rjavascript<CR>
+    nnoremap <Space>cs  :<C-u>Rstylesheet<CR>
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('alpaca_tags') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'AlpacaTagsUpdate', 'AlpacaTagsSet', 'AlpacaTagsBundle' ]
+        \   }
+        \ })
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:alpaca_update_tags_config = {
+          \   '_' : '-R --sort=yes',
+          \   'js' : '--languages=+js',
+          \   '-js' : '--languages=-js,JavaScript',
+          \   'vim' : '--languages=+Vim,vim',
+          \   '-vim' : '--languages=-Vim,vim',
+          \   '-style': '--languages=-css,sass,scss,js,JavaScript,html',
+          \   'scss' : '--languages=+scss --languages=-css,sass',
+          \   'sass' : '--languages=+sass --languages=-css,scss',
+          \   'css' : '--languages=+css',
+          \   'java' : '--languages=+java $JAVA_HOME/src',
+          \   'ruby': '--languages=+Ruby',
+          \   'coffee': '--languages=+coffee',
+          \   '-coffee': '--languages=-coffee',
+          \   'bundle': '--languages=+Ruby --languages=-css,sass,scss,js,JavaScript,coffee',
+          \ }
+
+    aug AlpacaUpdateTags
+      au!
+      au FileWritePost,BufWritePost * AlpacaTagsUpdate -style
+      au FileWritePost,BufWritePost Gemfile AlpacaTagsUpdateBundle
+      au FileReadPost,BufEnter * AlpacaTagsSet
+    aug END
+  endfunction
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('unite-rails') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [
+        \       'rails/bundle', 'rails/bundled_gem', 'rails/config',
+        \       'rails/controller', 'rails/db', 'rails/destroy', 'rails/features',
+        \       'rails/gem', 'rails/gemfile', 'rails/generate', 'rails/git', 'rails/helper',
+        \       'rails/heroku', 'rails/initializer', 'rails/javascript', 'rails/lib', 'rails/log',
+        \       'rails/mailer', 'rails/model', 'rails/rake', 'rails/route', 'rails/schema', 'rails/spec',
+        \       'rails/stylesheet', 'rails/view'
+        \     ],
+        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
+        \   }
+        \ })
+
+  function! s:my.unite_rails_init()
+    let g:UniteRailsAll = reti#lambda(':Unite -start-insert rails/model rails/controller rails/view rails/db rails/config rails/javascript rails/stylesheet rails/helper rails/mailer')
+    nnoremap <C-x>r  :<C-u>call g:UniteRailsAll()<CR>
+    nnoremap <C-x>m  :<C-u>Unite -start-insert rails/model<CR>
+    nnoremap <C-x>c  :<C-u>Unite -start-insert rails/controller<CR>
+    nnoremap <C-x>v  :<C-u>Unite -start-insert rails/view<CR>
+    nnoremap <C-x>f  :<C-u>Unite -start-insert rails/config<CR>
+    nnoremap <C-x>j  :<C-u>Unite -start-insert rails/javascript<CR>
+    nnoremap <C-x>s  :<C-u>Unite -start-insert rails/stylesheet<CR>
+    nnoremap <C-x>d  :<C-u>Unite -start-insert rails/db<CR>
+    nnoremap <C-x>l  :<C-u>Unite -start-insert rails/lib<CR>
+    nnoremap <C-x>h  :<C-u>Unite -start-insert rails/helper<CR>
+  endfunction
+
+  aug MyAutoCmd
+    au User Rails call g:My.unite_rails_init()
+  aug END
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-airline') " {{{
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  " let g:airline_left_sep  = '◤ '
+  " let g:airline_right_sep = ' ◥'
+  let g:airline_left_sep  = ''
+  let g:airline_right_sep = ''
+  " let g:airline_left_sep  = ''
+  " let g:airline_right_sep = ''
+  let g:airline_detect_iminsert = 1
+  let g:airline_theme = 'dark'
+
+  " Enable fugitive
+  let g:airline_enable_branch = 1
+  let g:airline_branch_empty_message = ''
+
+  " To show airline status on single window.
+  set laststatus=2
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-pronamachang') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'unite_sources' : [ 'pronamachang' ],
+        \     'commands' : [ 'PronamachangSay' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:pronamachang_voice_root = '~/.pronamachang'
+  endfunction
+
+  " let g:pronamachang_say_startup_enable = 1
+  " let g:pronamachang_say_goodbye_enable = 1
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-sugarpot') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'SugarpotPreview' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    let g:sugarpot_font = 'セプテンバーＭ-等幅:h1'
+    let g:sugarpot_xpm_cache_directory = '~/.sugarpot'
+    let g:sugarpot_convert = 'convert'
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('w3m.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [
+        \       'W3m',
+        \       'W3mTab',
+        \       'W3mSplit',
+        \       'W3mVSplit',
+        \       'W3mClose',
+        \       'W3mCopyUrl',
+        \       'W3mReload',
+        \       'W3mAddressBar',
+        \       'W3mShowExternal',
+        \       'W3mSyntaxOff',
+        \       'W3mSyntaxOn',
+        \       'W3mSetUserAgent',
+        \       'W3mHistory',
+        \       'W3mHistoryClear'
+        \     ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    highlight! link w3mLink      Function
+    highlight! link w3mLinkHover SpecialKey
+    highlight! link w3mSubmit    Special
+    highlight! link w3mInput     String
+    highlight! link w3mBold      Comment
+    highlight! link w3mUnderline Underlined
+    highlight! link w3mHitAHint  Question
+    highlight! link w3mAnchor    Label
+  endfunction
+
+  let g:w3m#hit_a_hint_key = 'f'
+  let g:w3m#lang = 'ja_JP'
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('TweetVim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [
+        \       'TweetVimVersion',
+        \       'TweetVimAddAccount',
+        \       'TweetVimSwitchAccount',
+        \       'TweetVimHomeTimeline',
+        \       'TweetVimMentions',
+        \       'TweetVimListStatuses',
+        \       'TweetVimUserTimeline',
+        \       'TweetVimSay',
+        \       'TweetVimUserStream',
+        \       'TweetVimCommandSay',
+        \       'TweetVimCurrentLineSay',
+        \       'TweetVimSearch'
+        \     ],
+        \     'unite_sources' : [ 'tweetvim/account', 'tweetvim' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+
+  endfunction
+
+  function! s:my_tweetvim_mappings()
+    nmap <buffer> j  <Plug>(tweetvim_action_cursor_down)
+    nmap <buffer> k  <Plug>(tweetvim_action_cursor_up)
+    nmap <buffer> f  <Plug>(tweetvim_action_favorite)
+    nmap <buffer> m  <Plug>(tweetvim_action_reply)
+    nmap <buffer> i  <Plug>(tweetvim_action_in_reply_to)
+    nmap <buffer> r  <Plug>(tweetvim_action_retweet)
+    nmap <buffer> q  <Plug>(tweetvim_action_qt)
+    nmap <buffer> gg  <Plug>(tweetvim_action_reload)
+    nmap <buffer> u  <Plug>(tweetvim_action_user_timeline)
+    nnoremap <buffer> s  :<C-u>TweetVimSay<CR>
+    nmap <buffer> <CR>  <Plug>(tweetvim_action_enter)
+    nmap <buffer> <C-h>  <Plug>(tweetvim_action_page_previous)
+    nmap <buffer> <C-l>  <Plug>(tweetvim_action_page_next)
+    nnoremap <buffer> <Space>cu  :<C-u>Unite tweetvim<CR>
+  endfunction
+  function! s:my_tweetvim_say_mappings()
+    nmap <buffer> <silent> <C-s>       <Plug>(tweetvim_say_show_history)
+    imap <buffer> <silent> <C-s>  <ESC><Plug>(tweetvim_say_show_history)
+    nmap <buffer> <silent> <CR>        <Plug>(tweetvim_say_post_buffer)
+    imap <buffer> <silent> <C-CR> <ESC><Plug>(tweetvim_say_post_buffer)
+  endfunction
+  autocmd MyAutoCmd FileType tweetvim call s:my_tweetvim_mappings()
+  autocmd MyAutoCmd FileType tweetvim_say call s:my_tweetvim_say_mappings()
+
+  let g:tweetvim_display_icon = 1
+  let g:tweetvim_display_source = 1
+  let g:tweetvim_no_default_key_mappings = 1
+  let g:tweetvim_display_username = 1
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('J6uil.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'J6uil' ],
+        \     'unite_sources' : [ 'J6uil/members', 'J6uil/rooms' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  augroup MyAutoCmd
+    autocmd FileType J6uil call s:J6uil_settings()
+  augroup END
+
+  function! s:J6uil_settings()
+    nmap <silent> <buffer> <C-c><C-r>  <Plug>(J6uil_unite_rooms)
+    nmap <silent> <buffer> <C-c><C-m>  <Plug>(J6uil_unite_members)
+    nmap <silent> <buffer> <Space>cr  <Plug>(J6uil_unite_rooms)
+    nmap <silent> <buffer> <Space>cm  <Plug>(J6uil_unite_members)
+    nmap <silent> <buffer> <C-l>  <Plug>(J6uil_next_room)
+    nmap <silent> <buffer> <C-h>  <Plug>(J6uil_prev_room)
+  endfunction
+
+  let g:J6uil_user     = g:vimrc_secrets['J6uil_user']
+  let g:J6uil_password = g:vimrc_secrets['J6uil_password']
+  let g:J6uil_multi_window = 1
+  let g:J6uil_user_define_rooms = [
+        \   'clojure',
+        \   'computer_science',
+        \   'momonga',
+        \   'vim',
+        \   'mtroom',
+        \   'mcujm',
+        \   'imascg',
+        \   'monetize',
+        \   'emacs',
+        \   'meat',
+        \   'clojure_ja',
+        \   'lingr'
+        \ ]
+
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimconsole.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [
+        \       'VimConsole', 'VimConsoleLog', 'VimConsoleWarn', 'VimConsoleError',
+        \       'VimConsoleOpen', 'VimConsoleClose', 'VimConsoleToggle', 'VimConsoleClear',
+        \       'VimConsoleRedraw', 'VimConsoleDump'
+        \     ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:vimconsole#auto_redraw = 1
+
+  nnoremap <Space>c  :<C-u>VimConsoleToggle<CR>
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('emmet-vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'html', 'php', 'erb' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  let g:user_emmet_leader_key = '<C-c>'
+  let g:user_emmet_settings = {
+        \   'lang' : 'ja',
+        \   'html' : {
+        \     'filters' : 'html',
+        \     'indentation' : '  '
+        \   },
+        \   'css' : {
+        \     'filters' : 'fc',
+        \   },
+        \   'javascript' : {
+        \     'snippets' : {
+        \       'jq' : "$(function() {\n\t${cursor}${child}\n});",
+        \       'jq:each' : "$.each(arr, function(index, item)\n\t${child}\n});",
+        \       'fn' : "(function() {\n\t${cursor}\n})();",
+        \       'tm' : "setTimeout(function() {\n\t${cursor}\n}, 100);",
+        \     },
+        \   }
+        \ }
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-less') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'less', 'html', 'haml' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('riml.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'riml' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-slim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'slim' ],
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vim-coffee-script') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'filetypes' : [ 'coffee', 'html', 'haml' ],
+        \     'commands' : [ 'CoffeeCompile', 'CoffeeWatch', 'CoffeeRun', 'CoffeeLint' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+    augroup CoffeeBufNew
+      autocmd!
+      autocmd User * set wrap
+    augroup END
+
+    augroup CoffeeBufUpdate
+      autocmd!
+      autocmd User CoffeeCompile,CoffeeWatch
+    augroup END
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('layoutplugin.vim') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'LayoutPlugin' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+if neobundle#tap('vimhelpgenerator') " {{{
+  call neobundle#config({
+        \   'autoload' : {
+        \     'commands' : [ 'LayoutPlugin', 'VimHelpGenerator', 'VimHelpGeneratorVirtual', 'HelpIntoMarkdown' ]
+        \   }
+        \ })
+
+  function! neobundle#tapped.hooks.on_source(bundle)
+      let g:vimhelpgenerator_version = 'Version : 1.0.0'
+      let g:vimhelpgenerator_author = 'supermomonga (@supermomonga)'
+      let g:vimhelpgenerator_uri = 'https://github.com/supermomonga/'
+      let g:vimhelpgenerator_defaultlanguage = 'en'
+  endfunction
+
+  call neobundle#untap()
+endif " }}}
+
+" }}}
+
+" }}}
+
diff --git a/vim/.vimrc_old b/vim/.vimrc_old
new file mode 100755
index 0000000..243c356
--- /dev/null
+++ b/vim/.vimrc_old
@@ -0,0 +1,2516 @@
+"{{{ ========== Basics ================================================================
+set nocompatible
+scriptencoding utf-8
+"scriptencodingと、このファイルのエンコーディングが一致するよう注意！
+
+"----------------------------------------
+" ユーザーランタイムパス設定
+"----------------------------------------
+"Windows, unixでのruntimepathの違いを吸収するためのもの。
+"$MY_VIMRUNTIMEはユーザーランタイムディレクトリを示す。
+":echo $MY_VIMRUNTIMEで実際のパスを確認できます。
+if isdirectory($HOME . '/.vim')
+  let $MY_VIMRUNTIME = $HOME.'/.vim'
+elseif isdirectory($HOME . '\vimfiles')
+  let $MY_VIMRUNTIME = $HOME.'\vimfiles'
+elseif isdirectory($VIM . '\vimfiles')
+  let $MY_VIMRUNTIME = $VIM.'\vimfiles'
+endif
+
+let s:is_windows = has('win16') || has('win32') || has('win64')
+let s:is_cygwin = has('win32unix')
+let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
+let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin
+
+let s:config_root = $MY_VIMRUNTIME
+let s:bundle_root = s:config_root . '/bundle'
+
+" release autogroup in MyAutoCmd
+augroup MyAutoCmd
+  autocmd!
+augroup END
+"===================================================================================}}}
+
+"{{{ ========== Plugins ===============================================================
+"----------------------------------------
+"" プラグイン読み込み
+"----------------------------------------
+"" neobundle.vim
+set nocompatible
+
+if has('vim_starting')
+  "set runtimepath+=~/.bundle/neobundle.vim_c03600f
+  set runtimepath+=~/.bundle/neobundle.vim
+  call neobundle#rc(expand('~/.bundle'))
+endif
+
+" Let NeoBundle manage NeoBundle
+"NeoBundleFetch 'Shougo/neobundle.vim', 'c03600f'
+NeoBundleFetch 'Shougo/neobundle.vim'
+" Build repos.
+NeoBundle 'Shougo/vimproc', {
+      \ 'build': {
+      \     'windows': 'echo "Sorry, cannot update vimproc binary file in Windows."',
+      \     'cygwin' : 'make -f make_cygwin.mak',
+      \     'mac'    : 'make -f make_mac.mak',
+      \     'unix'   : 'make -f make_unix.mak'
+      \    }
+      \ }
+NeoBundle 'thinca/vim-submode'
+NeoBundle 'Colour-Sampler-Pack', {
+      \   'autoload': {'unite_sources': ['colorscheme']}
+      \ }
+NeoBundle 'itchyny/lightline.vim'
+if ! s:is_windows
+  NeoBundle 'airblade/vim-gitgutter'
+endif
+NeoBundle 'itchyny/landscape.vim'
+NeoBundle 'nanotech/jellybeans.vim'
+NeoBundle 'w0ng/vim-hybrid'
+NeoBundle 'cocopon/lightline-hybrid.vim'
+NeoBundle 'vim-scripts/twilight'
+NeoBundle 'jonathanfilip/vim-lucius'
+NeoBundle 'jpo/vim-railscasts-theme'
+NeoBundle 'altercation/vim-colors-solarized'
+NeoBundle 'vim-scripts/Wombat'
+NeoBundle 'tomasr/molokai'
+NeoBundle 'vim-scripts/rdark'
+NeoBundle 'banyan/recognize_charcode.vim'
+"NeoBundle 'vim-scripts/restore_view.vim'
+NeoBundle 'jceb/vim-hier'
+NeoBundle 'yonchu/accelerated-smooth-scroll'
+NeoBundle 'mattn/sonictemplate-vim'
+NeoBundle 'nathanaelkane/vim-indent-guides.git'
+"NeoBundle 'YankRing.vim'
+NeoBundle 'tpope/vim-surround'
+NeoBundle 'goldfeld/vim-seek'
+NeoBundle 'osyo-manga/vim-anzu'
+NeoBundle 'mattn/webapi-vim.git'
+NeoBundle 'The-NERD-Commenter'
+NeoBundle 'fuenor/qfixgrep'
+NeoBundle 'fuenor/qfixhowm'
+NeoBundle 'CmdlineCompl.vim'
+NeoBundle 'LeafCage/yankround.vim', {
+            \   'depends': ['kien/ctrlp.vim']
+            \ }
+NeoBundle 'pekepeke/titanium-vim'
+NeoBundle 'osyo-manga/vim-automatic', {
+            \     'depends': ['osyo-manga/vim-gift.git']
+            \ }
+NeoBundle 'szw/vim-tags', {
+      \   'build': {'mac': 'brew install ctags'}
+      \ }
+NeoBundle 'vim-scripts/errormarker.vim.git'
+" textobj のベース
+NeoBundle "kana/vim-textobj-user"
+" バッファ全体
+" ae, ie
+NeoBundle "kana/vim-textobj-entire"
+" カーソル行
+" al, il
+NeoBundle "kana/vim-textobj-line"
+" 関数内
+" af, if
+NeoBundle "kana/vim-textobj-function"
+" シンタックス
+" ay, iy
+NeoBundle "kana/vim-textobj-syntax"
+" 「foo」 or 【bar】など
+" ajb, ijb
+NeoBundle "kana/vim-textobj-jabraces"
+" 最後に検索されたパターン
+" a/, i/
+NeoBundle "kana/vim-textobj-lastpat"
+" カーソル位置と同じインデント
+" al, il
+NeoBundle "kana/vim-textobj-indent"
+" fold
+" az, iz
+NeoBundle "kana/vim-textobj-fold"
+" diff(1)
+" adf, idf
+NeoBundle "kana/vim-textobj-syntax"
+" 日付と時刻
+" ada, ida
+NeoBundle "kana/vim-textobj-datetime"
+" アンダースコアの間
+" _
+NeoBundle "kana/vim-textobj-syntax"
+" django_template
+" adb, idb
+NeoBundle "kana/vim-textobj-django-template"
+" 任意の区切り文字
+" af, if
+NeoBundle "thinca/vim-textobj-between"
+" コメント
+" ac, ic
+NeoBundle "thinca/vim-textobj-comment"
+" JavaScript の関数内
+" af, if
+NeoBundle "thinca/vim-textobj-function-javascript"
+" Perl の関数内
+" af, if
+NeoBundle "thinca/vim-textobj-function-perl"
+" 直前に変更またはヤンクされたテキスト
+" ip
+NeoBundle "gilligan/textobj-lastpaste"
+" ASCII文字とマルチバイト文字の境界を区切り
+" am, im
+NeoBundle "deton/textobj-mbboundary.vim"
+" XML の属性
+" axa, ixa
+NeoBundle "akiyan/vim-textobj-xml-attribute"
+" phpタグに囲まれた部分
+" aP, iP
+NeoBundle "akiyan/vim-textobj-php"
+" 連続したスペース
+" aS, iS
+NeoBundle "saihoooooooo/vim-textobj-space"
+" URL
+" au, iu
+NeoBundle "mattn/vim-textobj-url"
+" snake_case 上の word
+" a,w, i,w
+NeoBundle "h1mesuke/textobj-wiw"
+" テキストオブジェクトとして最後に挿入された範囲
+" au, iu
+NeoBundle "rhysd/vim-textobj-lastinserted"
+" 行継続を用いている行
+" av, iv
+NeoBundle "rhysd/vim-textobj-continuous-line"
+" Ruby のブロック
+" arr, brr
+NeoBundle "rhysd/vim-textobj-ruby"
+" x() や x<> など
+" axb, ixb
+NeoBundle "https://bitbucket.org/anyakichi/vim-textobj-xbrackets"
+" 任意の2つの motion の間
+" am, im
+NeoBundle "hchbaw/textobj-motionmotion.vim"
+" Perl や Ruby の正規表現
+" aq, iq
+NeoBundle "deris/vim-textobj-enclosedsyntax"
+" 行の先頭の word
+" ah, ih
+NeoBundle "deris/vim-textobj-headwordofline"
+" LaTeX
+" ae, ie
+NeoBundle "rbonvall/vim-textobj-latex"
+" 関数の引数
+" a, i,
+NeoBundle "sgur/vim-textobj-parameter"
+" 前後のスペースを取り除いたカーソル行
+" ac, ic
+NeoBundle "mattn/vim-textobj-cell"
+" 別の filetype のコンテキスト
+" icx
+NeoBundle "osyo-manga/vim-textobj-context"
+" 任意の複数の括弧のいずれか
+" asb, isb
+NeoBundle "osyo-manga/vim-textobj-multiblock"
+" インデントの空白行
+" ao, io
+NeoBundle "glts/vim-textobj-indblock"
+" ダッシュ記号の間
+" a-, i-
+NeoBundle "RyanMcG/vim-textobj-dash"
+" Python
+" af, if
+NeoBundle "bps/vim-textobj-python"
+" #ifdef
+" a#, i#
+NeoBundle "anyakichi/vim-textobj-ifdef"
+" HTML
+" ahf, ihf
+NeoBundle "mjbrownie/html-textobjects"
+" ハッシュの key と value
+" dak, dik,  dav, div
+NeoBundle "vimtaku/vim-textobj-keyvalue"
+
+NeoBundleLazy 'tpope/vim-fugitive.git'
+NeoBundleLazy 'thinca/vim-quickrun.git', {
+            \   'depends': ['Shougo/vimproc', 'Shougo/unite.vim.git', 'osyo-manga/unite-quickfix',
+            \               'osyo-manga/shabadou.vim', 'jceb/vim-hier']
+            \ }
+if s:is_darwin
+  NeoBundleLazy 'modsound/macdict-vim.git', {
+        \   'autoload': {'commands': ['MacDict', 'MacDictCWord', 'MacDictEnglish',
+        \                             'MacDictThesaurus', 'MacDictClose']}
+        \ }
+  NeoBundleLazy 'itchyny/dictionary.vim', {
+        \   'autoload': {'commands': 'Dictionary'}
+        \ }
+endif
+NeoBundleLazy 'cocopon/colorswatch.vim', {
+      \   'autoload': {'commands': 'ColorSwatchGenerate'}
+      \ }
+NeoBundleLazy 'Lokaltog/vim-powerline.git'
+NeoBundleLazy 'thinca/vim-splash'
+NeoBundleLazy "bling/vim-airline", {
+      \   'depends': ['osyo-manga/unite-airline_themes']
+      \ }
+NeoBundleLazy 'tpope/vim-fireplace', {
+            \   'depends': ['tpope/vim-classpath.git', 'guns/vim-clojure-static.git'],
+            \   'autoload' : {
+            \       'filetypes': 'clojure'
+            \ }}
+NeoBundleLazy 'scrooloose/syntastic.git', {
+      \ 'build': {
+      \   'mac': ['pip install pyflake', 'npm -g install coffeelint'],
+      \   'unix': ['pip install pyflake', 'npm -g install coffeelint']
+      \ }}
+NeoBundleLazy 'Shougo/neocomplcache-clang'
+NeoBundleLazy 'Shougo/neocomplcache-clang_complete'
+NeoBundleLazy 'Dotnet-Dictionaries'
+NeoBundleLazy 'DrawIt'
+NeoBundleLazy 'thinca/vim-template'
+NeoBundleLazy 'Shougo/echodoc.git'
+NeoBundleLazy 'Shougo/vim-vcs.git'
+NeoBundleLazy 'Shougo/vinarise.git'
+NeoBundleLazy 'The-NERD-tree'
+NeoBundleLazy 'thinca/vim-singleton.git'
+NeoBundleLazy 'LeafCage/nebula.vim'
+NeoBundleLazy 'osyo-manga/vim-over', {
+            \   'commands': ['OverCommandLine']
+            \ }
+NeoBundleLazy 'PProvost/vim-ps1', {
+      \   'autoload' : {'filetypes': ['ps1']}
+      \ }
+NeoBundleLazy 'osyo-manga/vim-watchdogs', {
+      \   'autoload': {'insert': 1}
+      \ }
+NeoBundleLazy 'derekwyatt/vim-scala.git', {
+      \   'autoload': {'filetypes': 'scala'},
+      \   'build': {'mac': 'brew install scala sbt'}
+      \ }
+NeoBundleLazy 'Shougo/junkfile.vim', {
+      \   'autoload': {
+      \       'commands': 'JunkfileOpen',
+      \       'unite_sources': ['junkfile', 'junkfile/new']
+      \ }}
+NeoBundleLazy 'rking/ag.vim', {
+      \   'autoload': {
+      \       'commands': ['Ag'],
+      \       'unite_sources': ['grep']
+      \ }}
+NeoBundleLazy 'mattn/excitetranslate-vim', {
+      \   'autoload': {'commands': ['ExciteTranslate']}
+      \ }
+NeoBundleLazy 'wesleyche/SrcExpl.git', {
+      \   'autoload': {'commands': ['SrcExplToggle']}
+      \ }
+NeoBundleLazy 'majutsushi/tagbar', {
+      \   'autoload': {'commands': ['TagbarToggle']},
+      \   'build': {'mac': 'brew install ctags'}
+      \ }
+NeoBundleLazy 'Align', {
+      \   'autoload': {'commands': ['Align']}
+      \ }
+"NeoBundleLazy 'h1mesuke/vim-alignta.git', {
+"\   'autoload': {'commands': ['Align']}
+"\ }
+NeoBundleLazy 'mattn/vimplenote-vim', {
+      \   'autoload': {'commands': ['VimpleNote']}
+      \ }
+NeoBundleLazy 'kien/ctrlp.vim', {
+      \   'autoload': {
+      \       'mappings': ['CtrlP'],
+      \       'commands': ['CtrlP']
+      \   }
+      \ }
+if has('lua') && ((v:version >= 703 && has('patch885')) || v:version >= 704)
+  NeoBundleLazy 'Shougo/neocomplete.vim'
+else
+  NeoBundleLazy 'Shougo/neocomplcache.vim'
+endif
+NeoBundleLazy 'Shougo/neosnippet.vim'
+NeoBundleLazy 'PProvost/vim-ps1', {
+      \   'autoload': {
+      \       'filetypes': ['ps1']
+      \ }}
+NeoBundleLazy 'tpope/vim-rails', {
+      \   'autoload': {
+      \       'filetypes': ['haml', 'ruby', 'eruby']
+      \ }}
+NeoBundleLazy 'basyura/unite-rails', {
+      \   'depends': 'Shougo/unite.vim',
+      \   'autoload': {
+      \       'unite_sources': [
+      \           'rails/bundle', 'rails/bundled_gem', 'rails/config',
+      \           'rails/controller', 'rails/db', 'rails/destroy', 'rails/features',
+      \           'rails/gem', 'rails/gemfile', 'rails/generate', 'rails/git', 'rails/helper',
+      \           'rails/heroku', 'rails/initializer', 'rails/javascript',
+      \           'rails/lib', 'rails/log', 'rails/mailer', 'rails/model', 'rails/rake',
+      \           'rails/route', 'rails/schema', 'rails/spec', 'rails/stylesheet',
+      \           'rails/view'
+      \       ]
+      \ }}
+NeoBundleLazy 'alpaca-tc/neorspec.vim', {
+      \   'depends': ['alpaca-tc/vim-rails', 'tpope/vim-dispatch'],
+      \   'autoload': {'commands': ['RSpec', 'RSpecAll', 'RSpecCurrent', 'RSpecNearest',
+      \                             'RSpecRetry']}
+      \ }
+NeoBundleLazy 'alpaca-tc/alpaca_tags', {
+      \   'depends': 'Shougo/vimproc',
+      \   'autoload': {'commands': ['TagsUpdate', 'TagsSet', 'TagsBundle']}
+      \ }
+NeoBundleLazy 'tsukkee/unite-tag', {
+      \   'depends': ['Shougo/unite.vim'],
+      \   'autoload': {'unite_sources': ['tag', 'tag/file', 'tag/include']}
+      \ }
+NeoBundleLazy 'tpope/vim-endwise', {
+      \   'autoload': {'insert': 1}
+      \ }
+NeoBundleLazy 'vim-ruby/vim-ruby', {
+      \   'autoload': {'filetypes': ['ruby', 'eruby']}
+      \ }
+NeoBundleLazy 'edsono/vim-matchit', {
+      \   'autoload': {
+      \       'filetypes': ['ruby','eruby'],
+      \       'mappings': ['%']
+      \ }}
+NeoBundleLazy 'Shougo/unite.vim', {'depends': ['Shougo/vimproc']}
+NeoBundleLazy 'h1mesuke/unite-outline', {
+      \   'autoload': {'unite_sources': ['outline']}
+      \ }
+NeoBundleLazy 'Shougo/vimfiler', {'depends': ['Shougo/unite.vim']}
+NeoBundleLazy 'Shougo/vimshell.vim', {'depends': ['Shougo/vimproc']}
+NeoBundleLazy 'supermomonga/vimshell-pure.vim', {'depends' : ['Shougo/vimshell.vim']}
+NeoBundleLazy 't9md/vim-quickhl.git', {
+      \   'autoload': {'mappings': ['<Plug>(quickhl-toggle)']}
+      \ }
+NeoBundleLazy 'gregsexton/gitv', {
+      \   'depends': ['tpope/vim-fugitive'],
+      \   'autoload': {'commands': ['Gitv']}
+      \ }
+NeoBundleLazy 'vim-scripts/TaskList.vim', {
+      \ 'autoload': {'mappings': ['<Plug>TaskList']}
+      \ }
+NeoBundleLazy 'tsukkee/unite-help.git', {
+      \   'autoload': {'unite_sources': ['help']}
+      \ }
+NeoBundleLazy 'tyru/open-browser.vim.git'
+NeoBundleLazy 'glidenote/octoeditor.vim', {
+      \   'autoload': {'commands': ['OctopressNew', 'OctopressList', 'OctopressGrep',
+      \                             'OctopressGenerate', 'OctopressDeploy']}
+      \ }
+NeoBundleLazy 'MultipleSearch', {
+      \   'autoload': {'commands': ['Search', 'SearchBuffers']}
+      \ }
+NeoBundleLazy 'zhisheng/visualmark.vim', {
+      \   'autoload': {'mappings': ['<Plug>Vm_toggle_sign', '<Plug>Vm_goto_next_sign']}
+      \ }
+NeoBundleLazy 'adogear/vim-blockdiag-series', {
+      \   'autoload': {'filetypes': 'rst'}
+      \ }
+NeoBundleLazy 'SQLUtilities', {
+      \ 'autoload': {'filetypes': 'sql'}
+      \ }
+NeoBundleLazy 'VB.NET-Indent', {
+      \   'autoload': {'filetypes': 'vb'}
+      \ }
+NeoBundleLazy 'VB.NET-Syntax', {
+      \   'autoload': {'filetypes': 'vb'}
+      \ }
+NeoBundleLazy 'choplin/unite-vim_hacks.git', {
+      \   'autoload': {'unite_sources': ['vim_hacks']}
+      \ }
+NeoBundleLazy 'https://bitbucket.org/anyakichi/vim-histsearch'
+NeoBundleLazy 'mattn/gist-vim', {
+      \   'depends': ['mattn/webapi-vim'],
+      \   'autoload': {'commands': ['Gist']}
+      \ }
+NeoBundleLazy 'drakontia/sphinx.vim', {
+      \   'autoload': {'filetypes': 'rst'}
+      \ }
+NeoBundleLazy 'mattn/unite-advent_calendar.git', {
+      \   'autoload': {'unite_sources': ['advent_calendar']}
+      \ }
+NeoBundleLazy 'osyo-manga/checking-global-variables.git', {
+      \   'autoload': {'unite_sources': ['checking-global-variables']}
+      \ }
+NeoBundleLazy 'osyo-manga/unite-toggle-options.git', {
+      \   'autoload': {'unite_sources': ['toggle-options']}
+      \ }
+NeoBundleLazy 'pasela/unite-webcolorname.git', {
+      \   'autoload': {'unite_sources': ['webcolorname']}
+      \ }
+NeoBundleLazy 'rails.vim', {
+      \   'autoload': {'filetypes': ['ruby', 'eruby']}
+      \ }
+NeoBundleLazy 'sjl/gundo.vim', {
+      \   'autoload': {'commands': ['GundoToggle']}
+      \ }
+NeoBundleLazy 'tacroe/unite-mark.git', {
+      \   'autoload': {'unite_sources': ['mark']}
+      \ }
+"NeoBundleLazy 'teramako/jscomplete-vim.git', {
+      "\   'autoload': {'filetypes': ['javascript']}
+      "\ }
+NeoBundleLazy 'thinca/vim-ref.git', {
+      \   'autoload': {
+      \       'commands': ['Unite', 'Ref'],
+      \       'unite_sources': ['ref']
+      \ }}
+NeoBundleLazy 'thinca/vim-qfreplace', {
+      \   'autoload': {'unite_sources': ['grep']}
+      \ }
+if ! s:is_windows
+  NeoBundleLazy 'basyura/J6uil.vim.git', {
+        \   'depends': ['mattn/webapi-vim.git', 'Shougo/vimproc'],
+        \   'autoload': {'commands': ['J6uil', 'J6uilReconnect']}
+        \ }
+endif
+NeoBundleLazy 'tsukkee/unite-tag.git', {
+      \   'autoload': {'unite_sources': ['tag']}
+      \ }
+NeoBundleLazy 'ujihisa/unite-colorscheme.git', {
+      \   'autoload': {'unite_sources': ['colorscheme']}
+      \ }
+NeoBundleLazy 'ujihisa/unite-font.git', {
+      \   'autoload': {'unite_sources': ['font']}
+      \ }
+NeoBundleLazy 'vbnet.vim', {
+      \   'autoload': {'filetypes': ['vb']}
+      \ }
+NeoBundleLazy 'vim-scripts/copypath.vim.git', {
+      \   'autoload': {'commands': ['CopyPath', 'CopyFileName']}
+      \ }
+NeoBundleLazy 'kchmck/vim-coffee-script'
+NeoBundleLazy 'mattn/emmet-vim', {
+      \   'autoload': {'filetypes': ['html', 'djangohtml', 'eruby']}
+      \ }
+NeoBundleLazy 'davidhalter/jedi-vim.git', {
+            \ 'depends': ['mitechie/pyflakes-pathogen'],
+            \   'build': {
+            \     'mac': 'pip install jedi',
+            \     'unix': 'pip install jedi'
+            \   }
+            \ }
+NeoBundleLazy 'mitechie/pyflakes-pathogen', {
+      \   'autoload': {'filetypes': 'python'}
+      \ }
+NeoBundleLazy 'leafgarland/typescript-vim', {
+      \   'autoload': {'filetypes': 'typescript'}
+      \ }
+NeoBundleLazy 'koron/chalice', {
+      \   'autoload': {'commands': 'Chalice'}
+      \ }
+NeoBundleLazy 'yuyunko/dosbatch-indent', {
+      \   'depends': 'taku-o/vim-batch-source.git',
+      \   'autoload': {'filetypes': 'dosbatch'}
+      \ }
+NeoBundleLazy 'lambdalisue/vim-django-support', {
+      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
+      \ }
+NeoBundleLazy 'jmcantrell/vim-virtualenv', {
+      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
+      \ }
+NeoBundleLazy 'JavaScript-syntax', {
+      \   'depends': 'pangloss/vim-javascript.git',
+      \   'autoload': {'filetypes': 'JavaScript'}
+      \ }
+NeoBundleLazy 'basyura/TweetVim', {
+      \   'depends': ['basyura/twibill.vim', 'tyru/open-browser.vim', 'basyura/bitly.vim.git',
+      \               'osyo-manga/TweetVim-powerline-theme.git'],
+      \   'autoload': {
+      \       'commands': ['TweetVimHomeTimeline', 'TweetVim'],
+      \       'unite_sources': ['tweetvim']
+      \ }}
+NeoBundleLazy 'mattn/googletasks-vim.git', {
+      \   'depends': ['mattn/webapi-vim.git'],
+      \   'autoload': {'commands': ['GoogleTasks']}
+      \ }
+NeoBundleLazy 'basyura/unite-firefox-bookmarks.git', {
+      \   'depends': ['tyru/open-browser.vim.git', 'mattn/webapi-vim.git'],
+      \   'autoload': {'unite_sources': ['firefox/bookmarks']}
+      \ }
+NeoBundleLazy 'aklt/plantuml-syntax', {
+      \   'autoload': {'filetypes': 'plantuml'}
+      \ }
+NeoBundleLazy 'wavded/vim-stylus', {
+      \   'autoload': {'filetypes': 'stylus'}
+      \ }
+NeoBundleLazy 'digitaltoad/vim-jade', {
+      \   'autoload': {'filetypes': 'jade'}
+      \ }
+"NeoBundleLazy 'Blackrush/vim-gocode', {
+NeoBundle 'jnwhiteh/vim-golang', {
+      \ "autoload": {"filetypes": 'go'},
+      \ "build": {
+      \   'windows': ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+      \   'cygwin' : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+      \   'mac'    : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+      \   'unix'   : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint']
+      \ }}
+" for Haskell
+NeoBundleLazy 'dag/vim2hs', {
+      \   "autoload": {"filetypes": 'hs'}
+      \ }
+NeoBundleLazy 'eagletmt/ghcmod-vim', {
+      \   'autoload': {'filetypes': 'hs'}
+      \ }
+NeoBundleLazy 'ujihisa/neco-ghc', {
+      \   'autoload': {'filetypes': 'hs'}
+      \ }
+NeoBundleLazy 'eagletmt/unite-haddock', {
+      \   'autoload': {'filetypes': 'hs'}
+      \ }
+
+filetype plugin on
+filetype indent on
+
+" Installation check.
+if ! has('gui_running')
+  "NeoBundleCheck
+endif
+"===================================================================================}}}
+
+"{{{ ========== VimScripts ============================================================
+"ファイルを開いたら前回のカーソル位置へ移動
+autocmd MyAutoCmd BufReadPost *
+      \ if line("'\"") > 1 && line("'\"") <= line('$') |
+      \   exe "normal! g`\"" |
+      \ endif
+
+"全角スペースを表示
+function! ZenkakuSpace()
+  highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey
+  "全角スペースを明示的に表示する
+  silent! match ZenkakuSpace /　/
+endfunction
+
+if has('syntax')
+  autocmd MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
+endif
+
+"grep,tagsのためカレントディレクトリをファイルと同じディレクトリに移動する
+" autochdirが存在しないが、カレントディレクトリを移動したい場合
+au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
+
+"ctags用のディレクトリさかのぼって検索
+"set tags+=tags;
+" set tag file. don't search tags in pwd and search upward
+set tags& tags-=tags tags+=./tags;
+if v:version < 703 || (v:version == 7.3 && !has('patch336'))
+  set notagbsearch
+endif
+
+" システム関数
+let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'
+
+" Compiler
+if ! s:is_windows
+  autocmd MyAutoCmd FileType javascript compiler gjslint
+endif
+autocmd MyAutoCmd FileType scala compiler sbt
+
+" function
+function! s:mkdir(dir)
+  if !isdirectory(a:dir)
+    call mkdir(a:dir, "p")
+  endif
+endfunction
+"===================================================================================}}}
+
+"{{{ ========== System ================================================================
+"ファイルの上書きの前にバックアップを作る/作らない
+"set writebackupを指定してもオプション 'backup' がオンでない限り、
+"バックアップは上書きに成功した後に削除される。
+"set nowritebackup
+"バックアップ/スワップファイルを作成する/しない
+"set nobackup
+"verbose
+"set verbose=9
+"バックアップディレクトリ
+let $MY_BACKUP_DIR = $MY_VIMRUNTIME.'/back'
+call s:mkdir($MY_BACKUP_DIR)
+
+if version >= 703
+  "再読込、vim終了後も継続するアンドゥ(7.3)
+  set undofile
+  "アンドゥの保存場所(7.3)
+  set undodir=$MY_BACKUP_DIR
+endif
+"set noswapfile
+"viminfoを作成しない
+"set viminfo=
+"encoding
+set encoding=utf-8
+" クリップボードをデフォルトのレジスタとして指定。後にYankRingを使うので
+" 'unnamedplus'が存在しているかどうかで設定を分ける必要がある
+if has('unnamedplus')
+  set clipboard& clipboard+=unnamedplus
+else
+  " set clipboard& clipboard+=unnamed,autoselect
+  set clipboard& clipboard+=unnamed
+endif
+" 新しく開く代わりにすでに開いてあるバッファを開く
+set switchbuf=useopen
+"8進数を無効にする。<C-a>,<C-x>に影響する
+set nrformats-=octal
+"キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
+set timeoutlen=3500
+"編集結果非保存のバッファから、新しいバッファを開くときに警告を出さない
+set hidden
+"ヒストリの保存数
+set history=100000
+"日本語の行の連結時には空白を入力しない
+set formatoptions+=mM
+" 改行時にコメントしない
+autocmd MyAutoCmd FileType *
+      \ setl formatoptions-=ro | setl formatoptions+=mM
+set textwidth=0
+"Visual blockモードでフリーカーソルを有効にする
+set virtualedit=block
+"カーソルキーで行末／行頭の移動可能に設定
+set whichwrap=b,s,[,],<,>
+"バックスペースでインデントや改行を削除できるようにする
+set backspace=indent,eol,start
+"□や○の文字があってもカーソル位置がずれないようにする
+set ambiwidth=double
+"コマンドライン補完するときに強化されたものを使う
+set wildmenu
+set wildmode=list,full
+"マウスを有効にする
+if has('mouse')
+  set mouse=a
+endif
+"自動で読み込み直す
+set autoread
+" Check timestamp more for 'autoread'.
+autocmd MyAutoCmd WinEnter * checktime
+"===================================================================================}}}
+
+"{{{ ========== Search ================================================================
+"検索の時に大文字小文字を区別しない
+"ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する
+set ignorecase
+set smartcase
+"検索時にファイルの最後まで行ったら最初に戻る
+set wrapscan
+"インクリメンタルサーチ
+set incsearch
+" Ignore case on insert completion.
+set infercase
+"検索文字の強調表示
+set hlsearch
+"highlight消去
+"nnoremap <ESC><ESC> :<C-u>noh<CR>
+"<C-p> <C-n>でそれぞれ過去の検索から補完
+cnoremap <C-p> <Up>
+cnoremap <C-n> <Down>
+"w,bの移動で認識する文字
+"vimgrep をデフォルトのgrepとする場合internal
+set grepprg=grep\ -nH
+"vimgrepで自動でcw
+" https://sites.google.com/site/hymd3a/vim/vimgrep
+autocmd MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
+"===================================================================================}}}
+
+"{{{ ========== Appearance ============================================================
+"スプラッシュ(起動時のメッセージ)を表示しない
+"set shortmess+=I
+"エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定)
+set noerrorbells
+set novisualbell
+set visualbell t_vb=
+"マクロ実行中などの画面再描画を行わない
+"set lazyredraw
+"Windowsでディレクトリパスの区切り文字表示に / を使えるようにする
+"set noshellslash
+set shellslash
+"行番号表示
+set number
+if version >= 703
+  "相対行番号表示(7.3)
+  "set relativenumber
+endif
+"括弧の対応表示時間
+set showmatch matchtime=3
+"タブ幅を設定する
+set tabstop=4
+set shiftwidth=4
+set softtabstop=0
+set expandtab
+"タブ文字、行末など不可視文字を表示する
+set list
+"listで表示される文字のフォーマットを指定する
+"set listchars=tab:\ \ ,eol:\ ,trail:-
+if s:is_windows
+  set listchars=tab:>_,trail:-,extends:>,precedes:<
+else
+  set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%
+endif
+"バックアップファイルディレクトリ指定
+set backupdir=$MY_BACKUP_DIR
+"スワップファイルディレクトリ指定
+set directory=$MY_BACKUP_DIR
+"自動的にインデントする
+set autoindent
+"Cインデントの設定
+set cinoptions+=:0
+"タイトルを表示
+set title
+"コマンドラインの高さ (gvimはgvimrcで指定)
+set cmdheight=2
+set laststatus=2
+"コマンドをステータス行に表示
+set showcmd
+"画面最後の行をできる限り表示する
+set display=lastline
+"折り畳みをマークで可能にする
+set foldmethod=marker
+" ハイライトを有効にする
+if &t_Co > 2 || has('gui_running')
+  syntax on
+endif
+"検索結果を見やすく
+highlight Search ctermbg=1
+
+"色テーマ設定
+"256色表示設定
+set t_Co=256
+"gvimの色テーマは.gvimrcで指定する
+set background=dark
+colorscheme hybrid
+let g:molokai_original = 1
+let g:rehash256 = 1
+let g:solarized_termcolors = 256
+" 輝度を高くする
+let g:solarized_visibility = "high"
+" コントラストを高くする
+let g:solarized_contrast = "high"
+"===================================================================================}}}
+
+"{{{ ========== StatusLine ============================================================
+"ステータスラインに文字コード等表示
+"iconvが使用可能の場合、カーソル上の文字コードをエンコードに応じた表示にするFencB()を使用
+""""""""""""""""""""""""""""""
+if has('iconv')
+  set statusline=%<     " 行が長すぎるときに切り詰める位置
+  set statusline+=[%n]  " バッファ番号
+  set statusline+=%m    " %m 修正フラグ
+  set statusline+=%r    " %r 読み込み専用フラグ
+  set statusline+=%h    " %h ヘルプバッファフラグ
+  set statusline+=%w    " %w プレビューウィンドウフラグ
+  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
+  set statusline+=%y    " バッファ内のファイルのタイプ
+  set statusline+=\     " 空白スペース
+  if winwidth(0) >= 130
+    set statusline+=%F    " バッファ内のファイルのフルパス
+  else
+    set statusline+=%t    " ファイル名のみ
+  endif
+  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
+  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
+  set statusline+=\ \   " 空白スペース2個
+  set statusline+=[0x%{FencB()}]  "文字コード表示"
+  set statusline+=%1l   " 何行目にカーソルがあるか
+  set statusline+=/
+  set statusline+=%L    " バッファ内の総行数
+  set statusline+=,
+  set statusline+=%c    " 何列目にカーソルがあるか
+  set statusline+=%V    " 画面上の何列目にカーソルがあるか
+  set statusline+=\ \   " 空白スペース2個
+  set statusline+=%P    " ファイル内の何％の位置にあるか
+else
+  set statusline=%<     " 行が長すぎるときに切り詰める位置
+  set statusline+=[%n]  " バッファ番号
+  set statusline+=%m    " %m 修正フラグ
+  set statusline+=%r    " %r 読み込み専用フラグ
+  set statusline+=%h    " %h ヘルプバッファフラグ
+  set statusline+=%w    " %w プレビューウィンドウフラグ
+  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
+  set statusline+=%y    " バッファ内のファイルのタイプ
+  set statusline+=\     " 空白スペース
+  if winwidth(0) >= 130
+    set statusline+=%F    " バッファ内のファイルのフルパス
+  else
+    set statusline+=%t    " ファイル名のみ
+  endif
+  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
+  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
+  set statusline+=\ \   " 空白スペース2個
+  set statusline+=%1l   " 何行目にカーソルがあるか
+  set statusline+=/
+  set statusline+=%L    " バッファ内の総行数
+  set statusline+=,
+  set statusline+=%c    " 何列目にカーソルがあるか
+  set statusline+=%V    " 画面上の何列目にカーソルがあるか
+  set statusline+=\ \   " 空白スペース2個
+  set statusline+=%P    " ファイル内の何％の位置にあるか
+endif
+
+"FencB() : カーソル上の文字コードをエンコードに応じた表示にする
+function! FencB()
+  let c = matchstr(getline('.'), '.', col('.') - 1)
+  let c = iconv(c, &enc, &fenc)
+  return s:Byte2hex(s:Str2byte(c))
+endfunction
+
+function! s:Str2byte(str)
+  return map(range(len(a:str)), 'char2nr(a:str[v:val])')
+endfunction
+
+function! s:Byte2hex(bytes)
+  return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
+endfunction
+"===================================================================================}}}
+
+"{{{ ========== diff/patch ============================================================
+"diffの設定
+if s:is_windows
+  set diffexpr=MyDiff()
+  function! MyDiff()
+    let opt = '-a --binary '
+    if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
+    if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
+    let arg1 = v:fname_in
+    if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
+    let arg2 = v:fname_new
+    if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
+    let arg3 = v:fname_out
+    if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
+    let eq = ''
+    if $VIMRUNTIME =~ ' '
+      if &sh =~ '\<cmd'
+        let cmd = '""' . $VIMRUNTIME . '\diff"'
+        let eq = '"'
+      else
+        let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
+      endif
+    else
+      let cmd = $VIMRUNTIME . '\diff'
+    endif
+    silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
+  endfunction
+endif
+
+"現バッファの差分表示(変更箇所の表示)
+command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
+"ファイルまたはバッファ番号を指定して差分表示。#なら裏バッファと比較
+command! -nargs=? -complete=file Diff if '<args>'=='' |
+      \ browse vertical diffsplit|else| vertical diffsplit <args>|endif
+"パッチコマンド
+set patchexpr=MyPatch()
+function! MyPatch()
+  :call system($VIM."\\'.'patch -o " . v:fname_out . " " . v:fname_in . " < " . v:fname_diff)
+endfunction
+"===================================================================================}}}
+
+"{{{ ========== Mappings ==============================================================
+"----------------------------------------
+" ノーマルモード
+"----------------------------------------
+"ヘルプ検索
+nnoremap <F1> K
+"強制全保存終了を無効化
+nnoremap ZZ <Nop>
+"カーソルをj k では表示行で移動する。物理行移動は<C-n>,<C-p>
+"キーボードマクロには物理行移動を推奨
+"h l は行末、行頭を超えることが可能に設定(whichwrap)
+nnoremap <Down> gj
+nnoremap <Up>   gk
+nnoremap h <Left>
+nnoremap j gj
+nnoremap k gk
+nnoremap l <Right>
+"l を <Right>に置き換えても、折りたたみを l で開くことができるようにする
+if has('folding')
+  nnoremap <expr> l foldlevel(line('.')) ? "\<Right>zo" : "\<Right>"
+endif
+
+"バッファ移動
+nnoremap gh :bp<CR>
+nnoremap gl :bn<CR>
+"タブ移動
+"kaoriyaのdicwinはいらん！
+let plugin_dicwin_disable = 1
+
+"spaceを使えるように
+nmap <Space> [Space]
+nnoremap [Space] <Nop>
+
+nnoremap <SID>[tab-right] gt
+nnoremap <SID>[tab-left] gT
+nmap <C-L> <SID>[tab-right]
+nmap <C-H> <SID>[tab-left]
+
+"Window操作
+nnoremap <M-j> <C-w>+
+nnoremap <M-k> <C-w>-
+nnoremap <M-h> <C-w><
+nnoremap <M-l> <C-w>>
+nnoremap <A-j> <C-w>+
+nnoremap <A-k> <C-w>-
+nnoremap <A-h> <C-w><
+nnoremap <A-l> <C-w>>
+nnoremap <S-Left>  <C-w><<CR>
+nnoremap <S-Right> <C-w>><CR>
+nnoremap <S-Up>    <C-w>-<CR>
+nnoremap <S-Down>  <C-w>+<CR>
+
+nnoremap [Space]s :<C-u>split<CR>
+nnoremap [Space]v :<C-u>vsplit<CR>
+
+"ログとか見る時用
+autocmd MyAutoCmd BufNewFile,BufRead *.csv,*.log setl nowrap
+
+" iminsert
+"inoremap <silent> <ESC> <ESC>:<C-u>set iminsert=0<CR>
+
+"----------------------------------------
+" 挿入モード
+"----------------------------------------
+"括弧を自動で補完する設定
+"inoremap { {}<LEFT>
+"inoremap [ []<LEFT>
+"inoremap ( ()<LEFT>
+"inoremap " ""<LEFT>
+"inoremap ' ''<LEFT>
+
+"----------------------------------------
+" 短縮入力
+"----------------------------------------
+" for ruby
+"au MyAutoCmd FileType ruby inoreab <buffer> module module<cr>end<up><end>
+"au MyAutoCmd FileType ruby inoreab <buffer> class class<cr>end<up><end>
+"au MyAutoCmd FileType ruby inoreab <buffer> def def<cr>end<up><end>
+"au MyAutoCmd FileType ruby inoreab <buffer> do do<cr>end<up><end>
+" for C
+au MyAutoCmd FileType c inoreab <buffer> { {<cr>}<up><end>
+" for javascript
+au MyAutoCmd FileType javascript inoreab <buffer> /** /**************************************************************************<CR><Space>*<CR>**************************************************************************/<Up><Space>
+"----------------------------------------
+" ビジュアルモード
+"----------------------------------------
+"括弧まで自動でかこむ
+"vnoremap { "zdi^V{<C-R>z}<ESC>
+"vnoremap [ "zdi^V[<C-R>z]<ESC>
+"vnoremap ( "zdi^V(<C-R>z)<ESC>
+"vnoremap " "zdi^V"<C-R>z^V"<ESC>
+"vnoremap ' "zdi'<C-R>z'<ESC>
+
+"----------------------------------------
+" コマンドモード
+"----------------------------------------
+"sudo で保存
+com! Wsu w !sudo tee > /dev/null %
+"like emacs
+cnoremap <C-b> <Left>
+cnoremap <C-f> <Right>
+cnoremap <C-a> <Home>
+cnoremap <C-e> <End>
+cnoremap <C-d> <Del>
+cnoremap <C-y> <C-r>
+"===================================================================================}}}
+
+"{{{ ========== Plugin Settings =======================================================
+" mapping for NeoBundle
+nnoremap [Space]bi :<C-u>NeoBundleInstall!<CR>
+
+" ligntline {{{
+if s:is_windows
+  let g:lightline = {
+        \ 'colorscheme': 'landscape',
+        \ 'mode_map': { 'c': 'NORMAL' },
+        \ 'active': {
+        \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
+        \ },
+        \ 'component_function': {
+        \   'modified': 'MyModified',
+        \   'readonly': 'MyReadonly',
+        \   'fugitive': 'MyFugitive',
+        \   'filename': 'MyFilename',
+        \   'fileformat': 'MyFileformat',
+        \   'filetype': 'MyFiletype',
+        \   'fileencoding': 'MyFileencoding',
+        \   'mode': 'MyMode',
+        \ }
+        \ }
+else
+  let g:lightline = {
+        \ 'colorscheme': 'hybrid',
+        \ 'mode_map': { 'c': 'NORMAL' },
+        \ 'active': {
+        \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
+        \ },
+        \ 'component_function': {
+        \   'modified': 'MyModified',
+        \   'readonly': 'MyReadonly',
+        \   'fugitive': 'MyFugitive',
+        \   'filename': 'MyFilename',
+        \   'fileformat': 'MyFileformat',
+        \   'filetype': 'MyFiletype',
+        \   'fileencoding': 'MyFileencoding',
+        \   'mode': 'MyMode',
+        \ },
+        \ 'separator': { 'left': '⮀', 'right': '⮂' },
+        \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
+        \ }
+endif
+
+function! MyModified()
+  return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-'
+endfunction
+
+function! MyReadonly()
+  if s:is_windows
+    return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? 'R' : ''
+  else
+    return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? '⭤' : ''
+  endif
+endfunction
+
+function! MyFilename()
+  return ('' != MyReadonly() ? MyReadonly() . ' ' : '') .
+        \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
+        \  &ft == 'unite' ? unite#get_status_string() :
+        \  &ft == 'vimshell' ? vimshell#get_status_string() :
+        \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
+        \ ('' != MyModified() ? ' ' . MyModified() : '')
+endfunction
+
+function! MyFugitive()
+  if &ft !~? 'vimfiler\|gundo' && exists("*fugitive#head")
+    let _ = fugitive#head()
+    if s:is_windows
+      return strlen(_) ? '| '._ : ''
+    else
+      return strlen(_) ? '⭠ '._ : ''
+    endif
+  endif
+  return ''
+endfunction
+
+function! MyFileformat()
+  return winwidth('.') > 70 ? &fileformat : ''
+endfunction
+
+function! MyFiletype()
+  return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : ''
+endfunction
+
+function! MyFileencoding()
+  return winwidth('.') > 70 ? (strlen(&fenc) ? &fenc : &enc) : ''
+endfunction
+
+function! MyMode()
+  return winwidth('.') > 60 ? lightline#mode() : ''
+endfunction
+" }}}
+
+" vim-gitgutter {{{
+let g:gitgutter_sign_added = '✚'
+let g:gitgutter_sign_modified = '➜'
+let g:gitgutter_sign_removed = '✘'
+" }}}
+
+" submode {{{
+let g:submode_leave_with_key = 1
+call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')
+call submode#enter_with('winsize', 'n', '', '<C-w><', '<C-w><')
+call submode#enter_with('winsize', 'n', '', '<C-w>+', '<C-w>-')
+call submode#enter_with('winsize', 'n', '', '<C-w>-', '<C-w>+')
+call submode#map('winsize', 'n', '', '>', '<C-w>>')
+call submode#map('winsize', 'n', '', '<', '<C-w><')
+call submode#map('winsize', 'n', '', '+', '<C-w>-')
+call submode#map('winsize', 'n', '', '-', '<C-w>+')
+" }}}
+
+" vim-anzu {{{
+" n や N の代わりに使用します。
+"nmap n <Plug>(anzu-n)
+"nmap N <Plug>(anzu-N)
+"nmap * <Plug>(anzu-star)
+"nmap # <Plug>(anzu-sharp)
+
+"nmap n nzz<Plug>(anzu-update-search-status)
+"nmap N Nzz<Plug>(anzu-update-search-status)
+"nmap * <Plug>(anzu-star)
+"nmap # <Plug>(anzu-sharp)
+" ESC2回押しで検索ハイライトを消去
+autocm MyAutoCmd VimEnter,WinEnter,WinLeave * nmap <silent> <ESC><ESC>
+      \ :<C-u>nohlsearch<CR><Plug>(anzu-clear-search-status)
+" format = (該当数/全体数)
+"let g:anzu_status_format = "(%i/%l)"
+" ステータス情報を statusline へと表示する
+"set statusline=%{anzu#search_status()}
+
+" こっちを使用すると
+" 移動後にステータス情報をコマンドラインへと出力を行います。
+" statusline を使用したくない場合はこっちを使用して下さい。
+"nmap n <Plug>(anzu-n-with-echo)
+"nmap N <Plug>(anzu-N-with-echo)
+"nmap * <Plug>(anzu-star-with-echo)
+"nmap # <Plug>(anzu-sharp-with-echo)
+
+" anzu-mode を開始し、直後に n で移動する
+nmap n <Plug>(anzu-mode-n)
+" anzu-mode を開始し、直後に N で移動する
+nmap N <Plug>(anzu-mode-N)
+
+" anzu-mode で n や N を入力した場合、zzzv も追加して移動を行う
+nnoremap <expr> n anzu#mode#mapexpr("n", "", "zzzv")
+nnoremap <expr> N anzu#mode#mapexpr("N", "", "zzzv")
+" }}}
+
+" octoeditor {{{
+let s:hooks = neobundle#get_hooks("octoeditor.vim")
+function! s:hooks.on_source(bundle)
+  map <Leader>on  :<C-u>OctopressNew<CR>
+  map <Leader>ol  :<C-u>OctopressList<CR>
+  map <Leader>or  :<C-u>OctopressGrep<CR>
+  nmap <Leader>og :<C-u>OctopressGenerate<CR>
+  nmap <Leader>od :<C-u>OctopressDeploy<CR>
+  let g:octopress_path = '~/Dropbox/Documents/git/MyGit/octopress'
+  let g:octopress_prompt_categories = 1
+  let g:octopress_vimfiler = 1
+endfunction
+unlet s:hooks
+" }}}
+
+" TweetVim {{{
+" タイムライン選択用の Unite を起動する
+nnoremap <buffer> [Space]tl :<C-u>Unite tweetvim<CR>
+" アカウントスイッチ
+nnoremap <buffer> [Space]ta :<C-u>Unite tweetvim/account<CR>
+let s:hooks = neobundle#get_hooks("TweetVim")
+function! s:hooks.on_source(bundle)
+  " デフォルトアカウント
+  let g:tweetvim_default_account = "r_y_y_k_m"
+  " 発言用バッファを表示する
+  au MyAutoCmd FileType tweetvim nnoremap <buffer> [Space]s :<C-u>TweetVimSay<CR>
+  " 検索
+  au MyAutoCmd FileType tweetvim nnoremap <buffer> <leader>s :<C-u>TweetVimSearch<Space>
+  " UserStream
+  au MyAutoCmd FileType tweetvim nnoremap <buffer> [Space]us :<C-u>TweetVimUserStream<CR>
+
+  " 1ページの数(default = 20)
+  let g:tweetvim_tweet_per_page = 200
+  " キャッシュサイズ(default = 10)
+  let g:tweetvim_cache_size = 50
+  " display source(default = 0)
+  let g:tweetvim_display_source = 1
+  " display tweet's time(default = 0)
+  let g:tweetvim_display_time = 1
+endfunction
+unlet s:hooks
+" }}}
+
+" vim-quickhl {{{
+let s:hooks = neobundle#get_hooks("vim-quickhl")
+function! s:hooks.on_source(bundle)
+  nmap [Space]m <Plug>(quickhl-toggle)
+  xmap <Space>m <Plug>(quickhl-toggle)
+  nmap [Space]M <Plug>(quickhl-reset)
+  xmap <Space>M <Plug>(quickhl-reset)
+  nmap [Space]j <Plug>(quickhl-match)
+endfunction
+unlet s:hooks
+" }}}
+
+" vim-indent-guides {{{
+"http://room6933.com/blog/2011/11/30/vimrc_for_python/
+let g:indent_guides_enable_on_vim_startup = 1
+let g:indent_guides_guide_size = 1
+let g:indent_guides_auto_colors = 1
+let g:indent_guides_start_level = 2
+"autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  ctermbg=red
+"autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=green
+"autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=red
+"autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green
+" }}}
+
+if neobundle#tap('vimfiler')"{{{
+    call neobundle#config({
+                \ 'augroup': 'vimfiler',
+                \   'autoload': {
+                \       'unite_sources': ['vimfiler_drive', 'vimfiler_execute', 'vimfiler_history',
+                \                         'vimfiler_mask', 'vimfiler_popd', 'vimfiler_sort'],
+                \       'mappings': [['n', '<Plug>(vimfiler_']],
+                \       'commands': [{'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerCurrentDir'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Read'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFiler'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerBufferDir'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerSimple'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerTab'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Edit'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerExplorer'},
+                \                    'VimFilerClose',
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerCreate'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerSplit'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Write'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerDouble'},
+                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Source'}]
+                \ }
+                \ })
+
+    nnoremap <Leader>f :<C-u>VimFiler -split -simple -toggle -winwidth=35 -no-quit<CR>
+    nnoremap <C-e> :<C-u>VimFilerDouble<CR>
+    nnoremap <expr><Leader>g <SID>git_root_dir()
+        " gitディレクトリにいる場合、そのルートを開く
+        " http://qiita.com/items/39134f75e9360e1e733d
+    function! s:git_root_dir()
+        if(system('git rev-parse --is-inside-work-tree') == "true\n")
+            return ':VimFiler ' . '-split ' . '-simple ' . '-winwidth=35 ' . '-no-quit '
+                        \ . system('git rev-parse --show-cdup') . '\<CR>'
+        else
+            echoerr '!!!current directory is outside git working tree!!!'
+        endif
+    endfunction
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:vimfiler_as_default_explorer = 1
+        let g:vimfiler_enable_auto_cd = 1
+        if s:is_windows
+            let g:unite_kind_file_use_trashbox = 1
+        endif
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vimshell.vim')"{{{
+    call neobundle#config({
+                \ 'augroup': 'vimshell',
+                \ 'autoload': {
+                \   'unite_sources': ['vimshell_external_history', 'vimshell_history',
+                \                     'vimshell_zsh_complete'],
+                \   'mappings': [['n', '<Plug>(vimshell_']],
+                \   'commands': [{'complete': 'customlist,vimshell#complete', 'name': 'VimShell'},
+                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellPop'},
+                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellCreate'},
+                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellCurrentDir'},
+                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellExecute'},
+                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellBufferDir'},
+                \                'VimShellSendString',
+                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellTab'},
+                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellTerminal'},
+                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellInteractive'},
+                \                {'complete': 'buffer', 'name': 'VimShellSendBuffer'}]
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " PATH
+        if has('unix')
+            " 自分用
+            let $PATH = $PATH . ':' . $HOME . '/bin:' . $HOME . '/bin/scripts'
+            " homebrew
+            let $PATH = '/usr/local/bin:' . $PATH
+        endif
+
+        let g:vimshell_user_prompt = 'fnamemodify(getcwd(), ":~")'
+        let g:vimshell_right_prompt = 'vcs#info("(%s)-[%b]", "(%s)-[%b|%a]")'
+        let g:vimshell_enable_smart_case = 1
+
+        if s:is_windows
+            " Display user name on Windows.
+            let g:vimshell_prompt = $USERNAME."% "
+        else
+            " Display user name on Linux.
+            "let g:vimshell_prompt = $USER."% "
+
+            call vimshell#set_execute_file('bmp,jpg,png,gif', 'gexe eog')
+            call vimshell#set_execute_file('mp3,m4a,ogg', 'gexe amarok')
+            let g:vimshell_execute_file_list['zip'] = 'zipinfo'
+            call vimshell#set_execute_file('tgz,gz', 'gzcat')
+            call vimshell#set_execute_file('tbz,bz2', 'bzcat')
+        endif
+
+        let g:vimshell_execute_file_list = {}
+        call vimshell#set_execute_file('txt,vim,c,h,cpp,d,xml,java', 'vim')
+        let g:vimshell_execute_file_list['rb'] = 'ruby'
+        let g:vimshell_execute_file_list['pl'] = 'perl'
+        let g:vimshell_execute_file_list['py'] = 'python'
+        call vimshell#set_execute_file('html,xhtml', 'gexe firefox')
+
+        autocmd MyAutoCmd FileType vimshell
+                    \ if ! s:is_windows
+                    \| call vimshell#altercmd#define('i', 'iexe')
+                    \| call vimshell#altercmd#define('ll', 'ls -l')
+                    \| call vimshell#altercmd#define('la', 'ls -a')
+                    \| call vimshell#altercmd#define('lla', 'ls -al')
+                    \| call vimshell#altercmd#define('lv', 'vim -R')
+                    \| call vimshell#altercmd#define('vimfiler', 'vim -c VimFilerDouble')
+                    \| call vimshell#altercmd#define('rm', 'rmtrash')
+                    \| call vimshell#altercmd#define('s', ':UniteBookmarkAdd .')
+                    \| call vimshell#altercmd#define('g', ':Unite bookmark -start-insert')
+                    \| call vimshell#altercmd#define('l', ':Unite bookmark')
+                    \| call vimshell#hook#add('chpwd', 'my_chpwd', 'g:my_chpwd')
+                    \| else
+                        \| call vimshell#altercmd#define('vimfiler', 'gvim -c VimFilerDouble')
+                        \| endif
+
+
+        function! g:my_chpwd(args, context)
+            call vimshell#execute('ls')
+        endfunction
+
+        autocmd MyAutoCmd FileType int-* call s:interactive_settings()
+        function! s:interactive_settings()
+        endfunction
+
+        " history
+        let g:vimshell_max_command_history = 5000000
+        " mapping
+        "nnoremap [Space]s :<C-u>VimShell<CR>
+        autocmd MyAutoCmd FileType vimshell inoremap <C-^> cd<Space>../<CR>
+        autocmd MyAutoCmd FileType vimshell imap <C-l> <Plug>(vimshell_clear)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vimshell-pure.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'on_source': ['vimshell.vim']
+                \ }
+                \ })
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('neocomplete.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'insert': 1,
+                \   'unite_sources': ['file_include', 'neocomplete'],
+                \   'mappings': [['i', '<Plug>(neocomplete_start_']],
+                \   'commands': ['NeoCompleteAutoCompletionLength',
+                \                {'complete': 'buffer', 'name': 'NeoCompleteIncludeMakeCache'},
+                \                'NeoCompleteClean', 'NeoCompleteUnlock',
+                \                {'complete': 'customlist,neocomplete#filetype_complete', 'name': 'NeoCompleteSyntaxMakeCache'},
+                \                'NeoCompleteTagMakeCache', 'NeoCompleteEnable',
+                \                {'complete': 'customlist,neocomplete#filetype_complete', 'name': 'NeoCompleteDictionaryMakeCache'},
+                \                {'complete': 'buffer', 'name': 'NeoCompleteVimMakeCache'},
+                \                'NeoCompleteLock', 'NeoCompleteDisable', 'NeoCompleteToggle',
+                \                {'complete': 'filetype', 'name': 'NeoCompleteSetFileType'},
+                \                {'complete': 'file', 'name': 'NeoCompleteBufferMakeCache'}]
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:acp_enableAtStartup = 0
+        let g:neocomplete#enable_smart_case = 1
+        let g:neocomplete#sources#syntax#min_keyword_length = 3
+        let g:neocomplete#enable_at_startup = 1
+        " Define dictionary.
+        let g:neocomplete#sources#dictionary#dictionaries = {
+                    \ 'default': '',
+                    \ 'vimshell': $HOME . '/.vimshell_hist',
+                    \ 'scheme': $HOME . '/.gosh_completions',
+                    \ 'coffee': $MY_VIMRUNTIME . '/dict/coffee.dict',
+                    \ 'vbs': $MY_VIMRUNTIME . '/dict/vbs.dict',
+                    \ 'dosbatch': $MY_VIMRUNTIME . '/dict/dosbatch.dict',
+                    \ 'scala': $MY_VIMRUNTIME . '/dict/scala.dict',
+                    \ 'ps1': $MY_VIMRUNTIME . '/dict/ps1.dict',
+                    \ 'javascript': $MY_VIMRUNTIME . '/dict/wsh.dict'
+                    \ }
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('neosnippet.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'insert': 1,
+                \   'unite_sources': ['neosnippet_file', 'snippet', 'snippet_target'],
+                \   'mappings': [['sxi', '<Plug>(neosnippet_']],
+                \   'commands': [{'complete': 'file', 'name': 'NeoSnippetSource'},
+                \                {'complete': 'customlist,neosnippet#commands#_filetype_complete', 'name': 'NeoSnippetMakeCache'},
+                \                {'complete': 'customlist,neosnippet#commands#_edit_complete', 'name': 'NeoSnippetEdit'}]
+                \ }
+                \ })
+
+    " Plugin key-mappings.
+    imap <C-k>     <Plug>(neosnippet_expand_or_jump)
+    smap <C-k>     <Plug>(neosnippet_expand_or_jump)
+    xmap <C-k>     <Plug>(neosnippet_expand_target)
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " Tell Neosnippet about the other snippets
+        let g:neosnippet#snippets_directory = $HOME . '/.snippets,'
+
+        " For snippet_complete marker.
+        if has('conceal')
+            set conceallevel=2 concealcursor=i
+        endif
+
+        " for unite
+        imap <C-s> <Plug>(neocomplcache_start_unite_snippet)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('unite.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'name': 'Unite', 'complete': 'customlist,unite#complete_source'
+                \ }
+                \ })
+    " カラースキーマプレビュー
+    nnoremap [Space]uc :<C-u>Unite colorscheme -auto-preview<CR>
+    " history/yank
+    nnoremap <silent> [Space]uy :<C-u>Unite -no-split history/yank -buffer-name=history/yank<CR>
+    " バッファ一覧
+    nnoremap <silent> [Space]ub :<C-u>Unite -no-split buffer -auto-preview -buffer-name=buffer<CR>
+    " ファイル一覧
+    "nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=files file<CR>
+    " ファイル一覧(再帰)
+    nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=file_rec/async file_rec/async<CR>
+    " ブックマーク
+    nnoremap <silent> ,ub :<C-u>Unite -no-split -buffer-name=bookmark -default-action=cd bookmark<CR>
+    " grep
+    nnoremap <silent> [Space]ug :<C-u>Unite -buffer-name=grep -no-quit -auto-preview grep<CR>
+    " outline
+    nnoremap <silent> [Space]uo :<C-u>Unite -buffer-name=outline outline<CR>
+    " QuickFix
+    nnoremap <silent> [Space]uq :<C-u>Unite -buffer-name=QuickFix -no-quit qf<CR>
+    " レジスタ一覧
+    nnoremap <silent> [Space]ur :<C-u>Unite -buffer-name=register register<CR>
+    " 最近使用したファイル一覧
+    nnoremap <silent> [Space]um :<C-u>Unite -no-split file_mru -buffer-name=file_mru -auto-preview<CR>
+    " 常用セット
+    nnoremap <silent> [Space]uu :<C-u>Unite -no-split buffer file_mru<CR>
+    " 全部乗せ
+    nnoremap <silent> [Space]ua :<C-u>Unite -no-split -buffer-name=files buffer
+                \                              file_mru bookmark file file_rec/async<CR>
+    " 検索
+    nnoremap <silent> [Space]/ :<C-u>Unite -buffer-name=search line/fast -no-quit<CR>
+    " help
+    nnoremap <silent> [Space]uh :<C-u>Unite -no-split -buffer-name=help help<CR>
+    " NeoBundle
+    nnoremap [Space]ui :<C-u>Unite -no-split -no-start-insert -buffer-name=neobundle neobundle/update<CR>
+    nnoremap [Space]bs :<C-u>Unite -no-split -buffer-name=neobundle/search neobundle/search<CR>
+    " ~/.vim_junk フォルダをgrep
+    nnoremap [Space]ujg :<C-u>Unite -no-split -buffer-name=Grep_JunkFile grep:~/.vim_junk/
+
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " start unite in insert mode
+        let g:unite_enable_start_insert = 1
+        " use vimfiler to open directory
+        call unite#custom#default_action("source/bookmark/directory", "vimfiler")
+        call unite#custom#default_action("directory", "vimfiler")
+        call unite#custom#default_action("directory_mru", "vimfiler")
+        "call unite#custom#default_action("file", "tabdrop")
+        autocmd MyAutoCmd FileType unite call s:unite_settings()
+        function! s:unite_settings()
+            nmap <buffer> <Esc> <Plug>(unite_exit)
+            nmap <buffer> <C-n> <Plug>(unite_select_next_line)
+            nmap <buffer> <C-p> <Plug>(unite_select_previous_line)
+            let g:unite_source_menu_menus = {
+                        \   "shortcut": {
+                        \       "description": "sample unite-menu",
+                        \       "command_candidates": [
+                        \           ["edit vimrc", "edit $MYVIMRC"],
+                        \           ["edit gvimrc", "edit $MYGVIMRC"],
+                        \           ["unite-file_mru", "Unite file_mru"],
+                        \           ["Unite Beautiful Attack", "Unite -auto-preview colorscheme"],
+                        \           ["unite-output:message", "Unite output:message"]
+                        \       ]
+                        \   }
+                        \ }
+            " 垂直に分割
+            "let g:unite_enable_split_vertically = 1
+            " file_mruの最大保存件数
+            let g:unite_source_file_mru_limit = 1000
+            " history/yankの有効化
+            let g:unite_source_history_yank_enable = 1
+            " grep source setting
+            if s:is_windows
+                let g:unite_source_grep_command = 'grep'
+                let g:unite_source_grep_default_opts = '--color'
+                let g:unite_source_grep_max_candidates = 200
+            else
+                let g:unite_source_grep_command = 'ag'
+                let g:unite_source_grep_default_opts = '--nocolor --nogroup'
+                let g:unite_source_grep_recursive_opt = ''
+                let g:unite_source_grep_max_candidates = 200
+            endif
+        endfunction
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('open-browser.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': [['sxn', '<Plug>(openbrowser-']],
+                \   'commands': [{'complete': 'customlist,openbrowser#_cmd_complete', 'name': 'OpenBrowserSearch'},
+                \                {'complete': 'customlist,openbrowser#_cmd_complete', 'name': 'OpenBrowserSmartSearch'},
+                \                'OpenBrowser']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " http://vim-users.jp/2011/08/hack225/
+        nmap gx <Plug>(openbrowser-smart-search)
+        vmap gx <Plug>(openbrowser-smart-search)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('sonictemplate-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'unite_sources': ['sonictemplate'],
+                \   'mappings': [['in', '<Plug>(sonictemplate']],
+                \   'commands': ['Template']
+                \ }
+                \ })
+    autocmd MyAutoCmd BufNewFile *.rb Template template
+    autocmd MyAutoCmd BufNewFile *.ps1 Template template
+    autocmd MyAutoCmd BufNewFile *.cmd Template template
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:sonictemplate_vim_template_dir = $MY_VIMRUNTIME . '/template'
+    endfunction
+endif"}}}
+
+if neobundle#tap('vim-fugitive') "{{{"{{{
+    call neobundle#config({
+                \ 'augroup': 'fugitive',
+                \ 'autoload': {
+                \   'commands': ['Git', 'Gcd', 'Glcd', 'Gstatus', 'Gcommit', 'Ggrep', 'Glgrep',
+                \                'Glog', 'Gllog', 'Gedit', 'Gsplit', 'Gvsplit', 'Gtabedit',
+                \                'Gpedit', 'Gread', 'Gwrite', 'Gwq', 'Gdiff', 'Gsdiff', 'Gvdiff',
+                \                'Gmove', 'Gremove', 'Gblame', 'Gbrowse']
+                \ }
+                \ })
+
+    nnoremap [Space]gd :<C-u>Gdiff<Enter>
+    nnoremap [Space]gs :<C-u>Gstatus<Enter>
+    nnoremap [Space]gl :<C-u>Glog<Enter>
+    nnoremap [Space]ga :<C-u>Gwrite<Enter>
+    nnoremap [Space]gc :<C-u>Gcommit<Enter>
+    nnoremap [Space]gC :<C-u>Git commit --amend<Enter>
+    nnoremap [Space]gp :<C-u>Git pull --rebase<Enter>
+    nnoremap [Space]gb :<C-u>Gblame<Enter>
+    function! neobundle#tapped.hooks.on_post_source(bundle)
+        doautoall fugitive BufNewFile
+    endfunction
+endif"}}}
+
+if neobundle#tap('vim-quickrun')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': [['sxn', '<Plug>(quickrun']],
+                \   'commands': [{'complete': 'customlist,quickrun#complete', 'name': 'QuickRun'}]
+                \ }
+                \ })
+    nnoremap <Leader>r <Plug>(quickrun)
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " quickrunの最終的なコマンドを出力する"{{{
+        " http://d.hatena.ne.jp/osyo-manga/searchdiary?word=quickrun
+        let s:hook = {
+                    \   "name": "output_command",
+                    \   "kind": "hook",
+                    \   "config": {
+                    \       "enable": 0,
+                    \       "log": 0
+                    \   }
+                    \ }
+
+        function! s:hook.on_ready(session, context)
+            HierClear
+            for command in a:session.commands
+                execute self.config.log ? "echom command" : "echo command"
+            endfor
+        endfunction
+
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " TypeScript reference pathを読み込んでコンパイル"{{{
+        let s:hook = {
+                    \ "name": "typescript_compile",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_module_loaded(session, context)
+            let references = []
+            for line in readfile(a:session.config.srcfile, '', 15)
+                if line =~ '^///<reference path='
+                    "echom 'reference : ' . line[stridx(line, '"') + 1 : -4]
+                    if line[stridx(line, '"') + 1 : -4] !~ 'lib.d.ts'
+                        call add(references, line[stridx(line, '"') + 1 : -4])
+                    endif
+                endif
+            endfor
+            "echom 'exec : %c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
+            let a:session.config.exec = '%c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
+        endfunction
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " coffeescript import を読み込んでコンパイル"{{{
+        let s:hook = {
+                    \ "name": "coffeescript_compile",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_module_loaded(session, context)
+            let imports = []
+            for line in readfile(a:session.config.srcfile, '', 15)
+                if line =~ '^# import'
+                    "echom 'import : ' . line[10 : -2]
+                    call add(imports, line[10 : -2])
+                endif
+            endfor
+            "echom 'exec : %c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
+            let a:session.config.exec = '%c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
+        endfunction
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " コンパイル後にヘッダ等を追加"{{{
+        let s:hook = {
+                    \ "name": "js2cmd",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_success(session, context)
+            let list = []
+            call add(list, "@if(0)==(0) ECHO OFF")
+            for line in readfile(a:session.config.srcfile, '', 10)
+                if line =~ '^//' || line =~ '^#'
+                    if line[3 : 4] =~ 'OP' || line[2 : 3] =~ 'OP'
+                        "echom 'option : ' . line[stridx(line, '"') + 1 : -2]
+                        if line[stridx(line, '"') + 1 : -2] =~ '^pushd'
+                            call add(list, "    pushd \"%~dp0\" > nul")
+                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
+                            call add(list, "    popd > nul")
+                            break
+                        else
+                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
+                            break
+                        endif
+                    endif
+                endif
+            endfor
+            call add(list, "pause")
+            call add(list, "GOTO :EOF")
+            call add(list, "@end")
+            call add(list, "")
+            let inJs = fnamemodify(a:session.config.srcfile, ":p:r") . '.js'
+            let outCmd = fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd/'
+                        \ . fnamemodify(a:session.config.srcfile, ":t:r") .'.cmd'
+            "echom inJs
+            "echom outCmd
+            let utf8List = list + readfile(inJs, 'b')
+            let cp932List = []
+            for line in utf8List
+                "call add(cp932List, iconv(line, "UTF-8", "CP932"))
+                call add(cp932List, iconv(substitute(line, "\n", "\r\n", "",), "UTF-8", "CP932"))
+            endfor
+            if isdirectory(fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd')
+                call writefile(cp932List, outCmd, 'b')
+                if has('win32') || has('win64')
+                    "call {s:system}('del ' . inJs)
+                    call {s:system}('unix2dos ' . outCmd)
+                else
+                    "call {s:system}('rm ' . inJs)
+                    call {s:system}('nkf --windows --overwrite ' . outCmd)
+                endif
+            else
+                echom fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd' . 'is not found !'
+            endif
+        endfunction
+
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        let g:quickrun_config = {}
+        let g:quickrun_config = {
+                    \   "_": {
+                    \       "hook/output_command/enable": 0,
+                    \       "hook/output_command/log": 1,
+                    \       "hook/close_unite_quickfix/enable_hook_loaded": 1,
+                    \       "hook/unite_quickfix/enable_failure": 1,
+                    \       "hook/close_quickfix/enable_exit": 1,
+                    \       "hook/close_buffer/enable_failure": 1,
+                    \       "hook/close_buffer/enable_empty_data": 1,
+                    \       "hook/echo/enable": 1,
+                    \       "hook/echo/output_success": "success!!!",
+                    \       "hook/echo/output_failure": "failure...",
+                    \       "outputter": "multi:buffer:quickfix",
+                    \       "outputter/buffer/split": ":botright 18sp",
+                    \       "runner": "vimproc",
+                    \       "runner/vimproc/updatetime": 40
+                    \   },
+                    \ "typescript": {
+                    \       "commad": "tsc",
+                    \       "cmdopt": "--nolib --out",
+                    \       "exec"  : "%c %s _lib.ts %o %s:p:r.js",
+                    \       "hook/typescript_compile/enable": 1,
+                    \       "hook/js2cmd/enable": 1,
+                    \       "hook/output_command/log": 1
+                    \   },
+                    \ "plantuml": {
+                    \       "command": "java",
+                    \       "cmdopt": "-jar plantuml.jar -tpng",
+                    \       "exec": "%c %o %s"
+                    \   },
+                    \ "blockdiag": {
+                    \       "command": "blockdiag",
+                    \       "cmdopt": "-Tsvg",
+                    \       "exec": "%c %o %s"
+                    \   },
+                    \ "rst": {
+                    \       "command": "make",
+                    \       "cmdopt": "html",
+                    \       "exec": "%c %o"
+                    \ }
+                    \ }
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vim-coffee-script')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'filetypes': ['coffee']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let coffee_compile_vert = 1
+        let coffee_make_options = '--bare'
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('jedi-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': [{'complete': 'custom,jedi#py_import_completions', 'name': 'Pyimport'},
+                \                'Python'],
+                \   'filetypes': ['python', 'python3']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:jedi#auto_initialization = 1
+        let g:jedi#auto_vim_configuration = 0
+        let g:jedi#goto_assignments_command = '<Leader>G'
+        let g:jedi#popup_select_first = 0
+        let g:jedi#rename_command = '<Leader>R'
+        let g:jedi#show_call_signatures = 1
+        "let g:jedi#popup_on_dot = 1
+        autocmd MyAutoCmd FileType python let b:did_ftplugin = 1
+    endfunction
+endif"}}}
+
+" ag.vim {{{
+let s:hooks = neobundle#get_hooks("ag.vim")
+function! s:hooks.on_source(bundle)
+
+endfunction
+unlet s:hooks
+" }}}
+
+" vim-ref {{{
+let s:hooks = neobundle#get_hooks("vim-ref")
+function! s:hooks.on_source(bundle)
+  function! UniteRefDoc()
+    if &filetype =~ 'perl'
+      Unite ref/perldoc
+    elseif &filetype =~ 'python'
+      Unite -start-insert ref/pydoc
+    elseif &filetype =~ 'ruby'
+      Unite ref/refe
+    else
+      Unite ref/man
+    endif
+  endfunction
+  nnoremap [Space]r :<C-u>call UniteRefDoc()<CR>
+endfunction
+unlet s:hooks
+" }}}
+
+" J6uil {{{
+let s:hooks = neobundle#get_hooks("J6uil.vim")
+function! s:hooks.on_source(bundle)
+  let g:J6uil_user     = 'yuyunko'
+  let g:J6uil_password = 'hero1985'
+endfunction
+unlet s:hooks
+" }}}
+
+" TaskList {{{
+"nnoremap <Leader>T <Plug>TaskList
+" }}}
+
+" tagbar {{{
+nnoremap <Leader>t :<C-u>TagbarToggle<CR>
+let s:hooks = neobundle#get_hooks("tagbar")
+function! s:hooks.on_source(bundle)
+  let g:tagbar_type_scala = {
+        \ 'ctagstype' : 'Scala',
+        \ 'kinds'     : [
+        \   'p:packages:1',
+        \   'V:values',
+        \   'v:variables',
+        \   'T:types',
+        \   't:traits',
+        \   'o:objects',
+        \   'a:aclasses',
+        \   'c:classes',
+        \   'r:cclasses',
+        \   'm:methods'
+        \ ]
+        \ }
+  let g:tagbar_type_ruby = {
+        \ 'kinds' : [
+        \   'm:modules',
+        \   'c:classes',
+        \   'd:describes',
+        \   'C:contexts',
+        \   'f:methods',
+        \   'F:singleton methods'
+        \ ]
+        \ }
+  let g:tagbar_type_markdown = {
+        \ 'ctagstype' : 'markdown',
+        \ 'kinds' : [
+        \   'h:Heading_L1',
+        \   'i:Heading_L2',
+        \   'k:Heading_L3'
+        \ ]
+        \ }
+  let g:tagbar_type_css = {
+        \ 'ctagstype' : 'Css',
+        \ 'kinds'     : [
+        \   'c:classes',
+        \   's:selectors',
+        \   'i:identities'
+        \ ]
+        \ }
+  if executable('coffeetags')
+    let g:tagbar_type_coffee = {
+          \ 'ctagsbin' : 'coffeetags',
+          \ 'ctagsargs' : '',
+          \ 'kinds' : [
+          \   'f:functions',
+          \   'o:object',
+          \ ],
+          \ 'sro' : ".",
+          \ 'kind2scope' : {
+          \   'f' : 'object',
+          \   'o' : 'object',
+          \ }
+          \ }
+  endif
+
+  " Posix regular expressions for matching interesting items. Since this will
+  " be passed as an environment variable, no whitespace can exist in the options
+  " so [:space:] is used instead of normal whitespaces.
+  " Adapted from: https://gist.github.com/2901844
+  let s:ctags_opts = '
+        \ --langdef=coffee
+        \ --langmap=coffee:.coffee
+        \ --regex-coffee=/(^|=[ \t])*class ([A-Za-z_][A-Za-z0-9_]+\.)*([A-Za-z_][A-Za-z0-9_]+)( extends ([A-Za-z][A-Za-z0-9_.]*)+)?$/\3/c,class/
+        \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?(([A-Za-z][A-Za-z0-9_.]*)+):.*[-=]>.*$/\3/m,method/
+        \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=.*[-=]>.*$/\3/f,function/
+        \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/v,variable/
+        \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/f,field/
+        \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,static field/
+        \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?/\3/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){0}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){1}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){2}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){3}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){4}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){5}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){6}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){7}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){8}/\8/f,field/
+        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){9}/\8/f,field/'
+
+  let $CTAGS = substitute(s:ctags_opts, '\v\([nst]\)', '\\', 'g')
+endfunction
+unlet s:hooks
+" }}}
+
+" SrcExpl {{{
+" // The switch of the Source Explorer
+nmap <F8> :SrcExplToggle<CR>
+let s:hooks = neobundle#get_hooks("SrcExpl.git")
+function! s:hooks.on_source(bundle)
+
+  " // Set the height of Source Explorer window
+  let g:SrcExpl_winHeight = 8
+
+  " // Set 100 ms for refreshing the Source Explorer
+  let g:SrcExpl_refreshTime = 100
+
+  " // Set "Enter" key to jump into the exact definition context
+  let g:SrcExpl_jumpKey = "<ENTER>"
+
+  " // Set "Space" key for back from the definition context
+  let g:SrcExpl_gobackKey = "<SPACE>"
+
+  " // In order to Avoid conflicts, the Source Explorer should know what plugins
+  " // are using buffers. And you need add their bufname into the list below
+  " // according to the command ":buffers!"
+  let g:SrcExpl_pluginList = [
+        \ "__Tag_List__",
+        \ "_NERD_tree_",
+        \ "Source_Explorer"
+        \ ]
+
+  " // Enable/Disable the local definition searching, and note that this is not
+  " // guaranteed to work, the Source Explorer doesn't check the syntax for now.
+  " // It only searches for a match with the keyword according to command 'gd'
+  let g:SrcExpl_searchLocalDef = 1
+
+  " // Do not let the Source Explorer update the tags file when opening
+  let g:SrcExpl_isUpdateTags = 0
+
+  " // Use 'Exuberant Ctags' with '--sort=foldcase -R .' or '-L cscope.files' to
+  " // create/update a tags file
+  let g:SrcExpl_updateTagsCmd = "ctags --sort=foldcase -R ."
+
+  " // Set "<F12>" key for updating the tags file artificially
+  "let g:SrcExpl_updateTagsKey = "<F12>"
+
+  " // Set "<F3>" key for displaying the previous definition in the jump list
+  let g:SrcExpl_prevDefKey = "<F3>"
+
+  " // Set "<F4>" key for displaying the next definition in the jump list
+  let g:SrcExpl_nextDefKey = "<F4>"
+endfunction
+unlet s:hooks
+" }}}
+
+" qfixhowm {{{
+" ファイル拡張子をmkdにする
+let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.md'
+" ファイルタイプをmarkdownにする
+let QFixHowm_FileType = 'markdown'
+" タイトル記号
+let QFixHowm_Title = '#'
+" タイトル行検索正規表現の辞書を初期化
+let QFixMRU_Title = {}
+" MRUでタイトル行とみなす正規表現(Vimの正規表現で指定)
+let QFixMRU_Title['mkd'] = '^###[^#]'
+" grepでタイトル行とみなす正規表現(使用するgrepによっては変更する必要があります)
+let QFixMRU_Title['mkd_regxp'] = '^###[^#]'
+" howm_dir
+let howm_dir = $HOME . '/.howm'
+" }}}
+
+" CtrlP {{{
+nnoremap [Space]p :<C-u>CtrlP<CR>
+" }}}
+
+" vim-airline {{{
+"let g:airline_symbols = {}
+"" unicode symbols
+"let g:airline_left_sep = '»'
+"let g:airline_left_sep = '▶'
+"let g:airline_right_sep = '«'
+"let g:airline_right_sep = '◀'
+"let g:airline_symbols.linenr = '␊'
+"let g:airline_symbols.linenr = '␤'
+"let g:airline_symbols.linenr = '¶'
+"let g:airline_symbols.branch = '⎇'
+"let g:airline_symbols.paste = 'ρ'
+"let g:airline_symbols.paste = 'Þ'
+"let g:airline_symbols.paste = '∥'
+"let g:airline_symbols.whitespace = 'Ξ'
+""let g:airline_theme='molokai'
+"let g:airline#extensions#tagbar#enabled = 1
+"let g:airline#extensions#tabline#enabled = 1
+"let g:airline#extensions#syntastic#enabled = 1
+""let g:airline#extensions#bufferline#enabled = 1
+""let g:airline#extensions#bufferline#overwrite_variables = 1
+"let g:airline_enable_branch = 0
+"let g:airline_section_b = "%t %M"
+""let g:airline_section_c = ''
+"" vim-anzuの表示を statuslineに
+""let g:airline_section_c = '%F %{anzu#search_status()}'
+"let s:sep = " %{get(g:, 'airline_right_alt_sep', '')} "
+"let g:airline_section_x =
+"    \ "%{strlen(&fileformat)?&fileformat:''}".s:sep.
+"    \ "%{strlen(&fenc)?&fenc:&enc}".s:sep.
+"    \ "%{strlen(&filetype)?&filetype:'no ft'}"
+"let g:airline_section_y = '%3p%%'
+"let g:airline_section_z = get(g:, 'airline_linecolumn_prefix', '').'%3l:%-2v'
+"" whitespace無効
+"let g:airline#extensions#whitespace#enabled = 0
+" }}}
+
+" landscape {{{
+"let g:Powerline_theme = 'landscape'
+"let g:Powerline_colorscheme = 'landscape'
+"let g:airline_theme = 'landscape'
+" }}}
+
+" errormarker {{{
+let errormarker_disablemappings = 1
+" }}}
+
+" vim-watchdogs {{{
+let s:hooks = neobundle#get_hooks("vim-watchdogs")
+function! s:hooks.on_source(bundle)
+  let g:quickrun_config = {
+        \
+        \ "watchdogs_checker/coffeelint": {
+        \   "command": "coffeelint",
+        \   "exec": "%c %s:p"
+        \ },
+        \ "coffee/watchdogs_checker": {
+        \   "type": "watchdogs_checker/coffee"
+        \ }
+        \ }
+  " 書き込み後にシンタックスチェックを行う
+  let g:watchdogs_check_BufWritePost_enable = 1
+
+  " filetype ごとに有効無効を設定することも出来る
+  let g:watchdogs_check_BufWritePost_enables = {
+        \ "cpp": 0,
+        \ "haskell": 1,
+        \ "zsh": 0,
+        \ "python": 0,
+        \ "scss": 0,
+        \ "coffee": 0
+        \ }
+
+  " こっちは一定時間キー入力がなかった場合にシンタックスチェックを行う
+  " バッファに書き込み後、1度だけ行われる
+  let g:watchdogs_check_CursorHold_enable = 1
+
+  " filetype ごとに有効無効を設定することも出来る
+  let g:watchdogs_check_CursorHold_enables = {
+        \ "coffee": 0,
+        \ "python": 0,
+        \ "scss": 0
+        \ }
+endfunction
+unlet s:hooks
+" }}}
+
+" vim-automatic {{{
+" http://blog.supermomonga.com/articles/vim/automatic.html
+function! s:my_temporary_window_init(config, context)
+  silent! nunmap <ESC><ESC>
+  nmap <buffer> <C-[> :<C-u>q<CR>
+  nmap <buffer> <ESC> :<C-u>q<CR>
+endfunction
+
+let g:automatic_default_match_config = {
+      \   'is_open_other_window': 1
+      \ }
+let g:automatic_default_set_config = {
+      \   'apply': function('s:my_temporary_window_init'),
+      \   'height': "40%",
+      \   'move': "bottom"
+      \ }
+let g:automatic_config = [
+      \   {'match': {'buftype': 'help'}},
+      \   {'match': {'bufname': '^.vimshell'}},
+      \   {'match': {'bufname': 'MacDict.*'}},
+      \   {
+      \       'match': {
+      \           'filetype' : 'unite',
+      \           'autocmds': ['FileType']
+      \       },
+      \       'set': {
+      \           'unsettings': ['move', 'resize']
+      \       }
+      \   },
+      \   {
+      \       'match': {
+      \           'filetype': 'qf',
+      \           'autocmds': ['FileType']
+      \       },
+      \   },
+      \   {
+      \       'match': {
+      \           'filetype': '\v^ref-.+',
+      \           'autocmds': ['FileType']
+      \       }
+      \   },
+      \   {
+      \       'match': {
+      \           'bufname': '\[quickrun output\]'
+      \       },
+      \       'set': {
+      \           'height': 8
+      \       }
+      \   },
+      \   {
+      \       'match': {
+      \           'autocmds': ['CmdwinEnter']
+      \       },
+      \       'set': {
+      \           'is_close_focus_out': 1,
+      \           'unsettings': ['move', 'resize']
+      \       }
+      \   }
+      \ ]
+" }}}
+
+" macdict-vim {{{
+if s:is_darwin
+  nnoremap [Space]d :<C-u>MacDictCWord<CR>
+endif
+" }}}
+
+" vim-endwise {{{
+"let s:hooks = neobundle#get_hooks("vim-endwise")
+"function! s:hooks.on_source(bundle)
+"let g:endwise_no_mappings = 1
+"endfunction
+" }}}
+
+" go {{{
+let s:hooks = neobundle#get_hooks("vim-golang")
+function! s:hooks.on_source(bundle)
+  set rtp+=$GOROOT/misc/vim
+  exe "set rtp+=" . globpath($GOPATH, "src/github.com/nsf/gocode/vim")
+  setl completeopt=menu,preview
+  " golint
+  exe "set rtp+=" . globpath($GOPATH, "src/github.com/golang/lint/misc/vim")
+  au BufWritePre *.go Fmt
+endfunction
+unlet s:hooks
+" }}}
+
+" haskell {{{
+let s:hooks = neobundle#get_hooks("ghcmod-vim")
+function! s:hooks.on_source(bundle)
+  autocmd MyAutoCmd BufWritePost <buffer> GhcModCheckAsync
+endfunction
+unlet s:hooks
+" }}}
+
+" yankround {{{
+nmap p <Plug>(yankround-p)
+nmap P <Plug>(yankround-P)
+nmap <C-p> <Plug>(yankround-prev)
+nmap <C-n> <Plug>(yankround-next)
+let g:yankround_max_history = 50
+nnoremap <silent>g<C-p> :<C-u>CtrlPYankRound<CR>
+" }}}
+
+" vim-over {{{
+nnoremap <silent> <Leader>o :<C-u>OverCommandLine<CR>%s/
+" }}}
+
+if neobundle#tap('nebula.vim') "{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['NebulaPutLazy', 'NebulaPutFromClipboard', 'NebulaYankOptions',
+                \                'NebulaPutConfig', 'NebulaYankTap']
+                \ }
+                \ })
+endif
+"}}}
+
+"===================================================================================}}}
+
+"{{{ ========== Language Settings =====================================================
+" python
+"http://d.hatena.ne.jp/over80/20090305/1236264851#20090305f1
+autocmd MyAutoCmd FileType python setl autoindent smartindent
+      \ cinwords=if,elif,else,for,while,try,except,finally,def,class
+      \ tabstop=8 expandtab shiftwidth=4 softtabstop=4
+      \ foldmethod=indent foldlevel=99
+" autoread for coffee
+" 適当なタイミングで再読み込み
+autocmd MyAutoCmd CursorHold *.cmd checktime
+autocmd MyAutoCmd CursorHold *.js checktime
+autocmd MyAutoCmd CursorMoved *.cmd checktime
+autocmd MyAutoCmd CursorMoved *.js checktime
+
+" ファイルタイプ
+autocmd MyAutoCmd BufNewFile,BufRead *.cmd setl ft=ps1 fenc=cp932 ff=dos
+autocmd MyAutoCmd BufNewFile,BufRead *.hta setl ft=html fenc=cp932 ff=dos
+autocmd MyAutoCmd BufNewFile,BufRead *.sql setl fenc=cp932 ff=dos
+autocmd MyAutoCmd BufNewFile,BufRead *.bat setl fenc=cp932 ff=dos
+autocmd MyAutoCmd BufNewFile,BufRead *.ts setl ft=typescript fenc=utf8 ff=unix
+autocmd MyAutoCmd BufNewFile,BufRead *.coffee setl ft=coffee fenc=utf8 ff=unix
+      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
+autocmd MyAutoCmd BufNewFile,BufRead *.js setl ft=javascript fenc=utf8 ff=unix
+      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
+autocmd MyAutoCmd BufNewFile,BufRead *.uml setl fenc=cp932 ff=dos ft=plantuml
+autocmd MyAutoCmd BufNewFile,BufRead *.diag setl fenc=utf8 ff=unix ft=blockdiag
+autocmd MyAutoCmd BufNewFile,BufRead *.md setl ft=markdown
+autocmd MyAutoCmd BufNewFile,BufRead *.rst setl tabstop=8 shiftwidth=3 softtabstop=3 expandtab
+autocmd MyAutoCmd BufNewFile,BufRead *.jade setl ft=jade
+autocmd MyAutoCmd BufNewFile,BufRead *.styl setl ft=stylus tabstop=8 shiftwidth=2
+      \ softtabstop=2 expandtab
+autocmd MyAutoCmd bufnewfile,bufread *.scpt,*.applescript setl filetype=applescript
+autocmd MyAutoCmd bufnewfile,bufread *.scala setl ft=scala
+autocmd MyAutoCmd bufnewfile,bufread *.rb setl ft=ruby fenc=utf8 ff=unix
+"===================================================================================}}}
+
+"{{{ ========== Temp Settings =========================================================
+" 行末の余分な改行を削除
+"autocmd MyAutoCmd BufWritePre * call RTrim()
+function! RTrim()
+  let save_cursor = getpos(".")
+  %s/\s\+$//e
+  call setpos(".", save_cursor)
+endfunction
+
+" 保存時にインデントをフォーマット
+"autocmd MyAutoCmd BufWrite * call Format()
+function! Format()
+  "let save_cursor = getpos(".")
+  let save_view = winsaveview()
+  normal gg=G
+  "call setpos('.', save_cursor)
+  call winrestview(save_view)
+  "normal zz
+endfunction
+nnoremap [Space]f :call Format()<CR>
+
+" Windowsで、ieで開く
+if s:is_windows
+  function! IeStart()
+    silent ! start iexplore "%:p"
+  endfunction
+endif
+" Windowsで、firefoxで開く
+if s:is_windows
+  function! Firefox()
+    silent ! start firefox "%:p"
+  endfunction
+endif
+
+" ブラウザでプレビュー
+function! Preview()
+  if s:is_windows
+    silent ! start chrome "%:p"
+    "silent ! start firefox "%:p"
+  elseif s:is_darwin
+    silent ! open "%:p"
+  else
+    silent ! firefox "%:p"
+  endif
+endfunction
+nnoremap <Leader>p :call Preview()<CR>
+
+" 範囲選択検索置き換え
+" http://vim-users.jp/2009/11/hack104/
+vnoremap <silent> * "vy/\V<C-r>=substitute(escape(@v,'\/'),"\n",'\\n','g')<CR><CR>
+
+" vimrc簡単編集
+" Vim-users.jp - Hack #74: 簡単にvimrcを編集する http://vim-users.jp/2009/09/hack74/
+nnoremap <silent> [Space]ev  :<C-u>tabedit $MYVIMRC<CR>
+nnoremap <silent> [Space]eg  :<C-u>tabedit $MYGVIMRC<CR>
+
+" Load .gvimrc after .vimrc edited at GVim.
+"nnoremap <silent> [Space]rv :<C-u>source $MYVIMRC \| if has('gui_running') \| source $MYGVIMRC \| endif <CR>
+"nnoremap <silent> [Space]rg :<C-u>source $MYGVIMRC<CR>
+
+" JunkFile {{{
+" http://vim-users.jp/2010/11/hack181/
+"" Open junk file.
+"command! -nargs=0 JunkFile call s:open_junk_file()
+"function! s:open_junk_file()
+"let l:junk_dir = $HOME . '/.vim_junk'. strftime('/%Y/%m')
+"if !isdirectory(l:junk_dir)
+"call mkdir(l:junk_dir, 'p')
+"endif
+
+"let l:filename = input('Junk Code: ', l:junk_dir.strftime('/%Y-%m-%d-%H%M%S.'))
+"if l:filename != ''
+"execute 'edit ' . l:filename
+"endif
+"endfunction
+" }}}
+
+" コマンドラインを使わず，コマンドラインウィンドウを使う {{{
+" http://vim-users.jp/2010/07/hack161/
+" No Command-line window by Shougo http://vim-users.jp/2010/07/hack161/
+"set cmdwinheight=13
+"nnoremap <sid>(command-line-enter) q:
+"xnoremap <sid>(command-line-enter) q:
+"nnoremap <sid>(command-line-norange) q:<C-u>
+
+"nmap :  <sid>(command-line-enter)
+"xmap :  <sid>(command-line-enter)
+
+"" I added
+""nnoremap q: q:<Esc>
+
+"autocmd MyAutoCmd CmdwinEnter * call s:init_cmdwin()
+"" ESCキーを2回押すと終了する
+"au MyAutoCmd CmdwinEnter * nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
+"au MyAutoCmd CmdwinEnter * inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
+
+"" I added
+"au MyAutoCmd CmdwinEnter :  let b:cpt_save = &cpt | set cpt=.
+"au MyAutoCmd CmdwinLeave :  let &cpt = b:cpt_save
+
+"" MacVim is shit
+"autocmd MyAutoCmd CmdwinEnter * nnoremap <buffer><expr> <Cr> CmdwinRun()
+"autocmd MyAutoCmd CmdwinEnter * inoremap <buffer><expr> <Cr> CmdwinRun()
+"function! CmdwinRun()
+"let a = getline(line('.'))
+"return "\<Esc>\<C-c>\<C-c>:" . a . "\<Cr>"
+"endfunction
+
+"function! s:init_cmdwin()
+"nnoremap <buffer> q :<C-u>quit<CR>
+"nnoremap <buffer> <TAB> :<C-u>quit<CR>
+"inoremap <buffer><expr><CR> pumvisible() ? "\<C-y>\<CR>" : "\<CR>"
+"inoremap <buffer><expr><C-h> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
+""inoremap <buffer><expr><BS> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
+""I added
+"inoremap <buffer><expr><BS> col('.') == 1 ? "\<ESC>:quit\<CR>" : pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
+"inoremap <buffer><expr>: col('.') == 1 ? "VimProcBang " : ":"
+""inoremap <buffer><expr> \  smartchr#one_of('~/', '\')
+
+"" Completion.
+"inoremap <buffer><expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
+
+"" HootSuite
+""inoreabbrev <buffer> c: ./core/mvc/controllers/mobile/
+""inoreabbrev <buffer> v: ./core/mvc/views/mobile/
+
+"startinsert!
+"endfunction
+" }}}
+
+"Vim-users.jp - Hack #78: CSVの特定のカラムをハイライトする {{{
+"http://vim-users.jp/2009/09/hack78/
+function! CSVH(x)
+  execute 'match Keyword /^\([^,]*,\)\{'.a:x.'}\zs[^,]*/'
+  execute 'normal ^'.a:x.'f,'
+endfunction
+command! -nargs=1 Csvhl :call CSVH(<args>)
+" }}}
+
+" 縦に連番を入力する http://d.hatena.ne.jp/osyo-manga/20120326/1332688467 {{{
+nnoremap <silent> co :ContinuousNumber <C-a><CR>
+vnoremap <silent> co :ContinuousNumber <C-a><CR>
+command! -count -nargs=1 ContinuousNumber let c = col('.')
+      \| for n in range(1, <count>?<count>-line('.'):1)
+        \| exec 'normal! j' . n . <q-args>|call cursor('.', c)
+        \| endfor
+" }}}
+
+" Hack #202: 自動的にディレクトリを作成する {{{
+" http://vim-users.jp/2011/02/hack202/
+autocmd MyAutoCmd BufWritePre * call s:auto_mkdir(expand('<afile>:p:h'), v:cmdbang)
+function! s:auto_mkdir(dir, force)
+  if !isdirectory(a:dir) && (a:force ||
+        \    input(printf('"%s" does not exist. Create? [y/N]', a:dir)) =~? '^y\%[es]$')
+    call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
+  endif
+endfunction
+" }}}
+
+" Hack #62: カーソル下のキーワードをバッファ内全体で置換する {{{
+" http://vim-users.jp/2009/08/hack62/
+nnoremap <expr> s* ':%substitute/\<' . expand('<cword>') . '\>/'
+" }}}
+
+" Capture {{{
+" https://gist.github.com/369112#file-vimrc
+command!
+      \ -nargs=+ -bang
+      \ -complete=command
+      \ Capture
+      \ call s:cmd_capture([<f-args>], <bang>0)
+
+function! C(cmd)
+  redir => result
+  silent execute a:cmd
+  redir END
+  return result
+endfunction
+
+function! s:cmd_capture(args, banged)
+  new
+  silent put =C(join(a:args))
+  1,2delete _
+endfunction
+" }}}
+
+"" 'cursorline' を必要な時にだけ有効にする - 永遠に未完成 {{{
+" http://d.hatena.ne.jp/thinca/20090530/1243615055
+autocmd MyAutoCmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved')
+autocmd MyAutoCmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold')
+autocmd MyAutoCmd WinEnter * call s:auto_cursorline('WinEnter')
+autocmd MyAutoCmd WinLeave * call s:auto_cursorline('WinLeave')
+
+let s:cursorline_lock = 0
+function! s:auto_cursorline(event)
+  if a:event ==# 'WinEnter'
+    setlocal cursorline
+    setlocal cursorcolumn
+    let s:cursorline_lock = 2
+  elseif a:event ==# 'WinLeave'
+    setlocal nocursorline
+    setlocal nocursorcolumn
+  elseif a:event ==# 'CursorMoved'
+    if s:cursorline_lock
+      if 1 < s:cursorline_lock
+        let s:cursorline_lock = 1
+      else
+        setlocal nocursorline
+        setlocal nocursorcolumn
+        let s:cursorline_lock = 0
+      endif
+    endif
+  elseif a:event ==# 'CursorHold'
+    setlocal cursorline
+    setlocal cursorcolumn
+    let s:cursorline_lock = 1
+  endif
+endfunction
+" }}}
+
+" Scala コンパイル {{{
+" http://vim-users.jp/2013/02/vim-advent-calendar-2012-ujihisa-4/
+function! s:ujihisa_start_sbt()
+  execute 'VimShellInteractive sbt'
+  stopinsert
+  let t:sbt_bufname = bufname('%')
+  if !has_key(t:, 'sbt_cmds')
+    let t:sbt_cmds = [input('t:sbt_cmds[0] = ')]
+  endif
+  wincmd p
+endfunction
+
+command! -nargs=0 StartSBT call <SID>ujihisa_start_sbt()
+
+function! s:sbt_run()
+  let cmds = get(t:, 'sbt_cmds', 'run')
+
+  let sbt_bufname = get(t:, 'sbt_bufname')
+  if sbt_bufname !=# ''
+    call vimshell#interactive#set_send_buffer(sbt_bufname)
+    call vimshell#interactive#send(cmds)
+  else
+    echoerr 'try StartSBT'
+  endif
+endfunction
+
+function! s:vimrc_scala()
+  nnoremap <buffer> [Space]m :<C-u>write<Cr>:call <SID>sbt_run()<Cr>
+endfunction
+
+augroup vimrc_scala
+  autocmd!
+  autocmd FileType scala call s:vimrc_scala()
+  autocmd FileType scala nnoremap <buffer> [Space]st :<C-u>StartSBT<Cr>
+augroup END
+" }}}
+
+" 100桁目以降の色を変える {{{
+" http://blog.remora.cx/2013/06/source-in-80-columns-2.html
+noremap <Plug>(ToggleColorColumn)
+      \ :<c-u>let &colorcolumn = len(&colorcolumn) > 0 ? '' :
+      \   join(range(101, 9999), ',')<CR>
+
+" ノーマルモードの 'cc' に割り当てる
+nmap cc <Plug>(ToggleColorColumn)
+" }}}
+"===================================================================================}}}
[from now] 2013/12/01 23:33:32

diff --git a/vim/.vimrc b/vim/.vimrc
index 330231d..20cab3b 100755
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -202,7 +202,8 @@ endif

 "{{{ ========== VimScripts ============================================================
 " Restore last cursor position when open a file"{{{
-au MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif"}}}
+au MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
+"}}}

 " highlight Zenkaku space"{{{
 function! ZenkakuSpace()
@@ -212,10 +213,12 @@ endfunction

 if has('syntax')
   autocmd MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
-endif"}}}
+endif
+"}}}

 " autochdir"{{{
-au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')"}}}
+au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
+"}}}

 " ctags
 " set tags+=tags;
@@ -233,6 +236,14 @@ function! s:mkdir(dir)"{{{
         call mkdir(a:dir, "p")
     endif
 endfunction"}}}
+
+function! s:Str2byte(str)"{{{
+  return map(range(len(a:str)), 'char2nr(a:str[v:val])')
+endfunction"}}}
+
+function! s:Byte2hex(bytes)"{{{
+  return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
+endfunction"}}}
 "===================================================================================}}}

 "{{{ ========== System ================================================================
@@ -240,260 +251,90 @@ endfunction"}}}
 let $MY_BACKUP_DIR = $MY_VIMRUNTIME . '/back'
 call s:mkdir($MY_BACKUP_DIR)

-" undo
 if version >= 703
     set undofile
     set undodir=$MY_BACKUP_DIR
 endif
-" encoding
-set encoding=utf-8
-" クリップボードをデフォルトのレジスタとして指定。後にYankRingを使うので
-" 'unnamedplus'が存在しているかどうかで設定を分ける必要がある
-  set clipboard& clipboard+=unnamedplus
-" 新しく開く代わりにすでに開いてあるバッファを開く
+set encoding=utf-8 " encoding
+set clipboard+=unnamed
 set switchbuf=useopen
-"8進数を無効にする。<C-a>,<C-x>に影響する
-set nrformats-=octal
-"キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
+set nrformats-=octal " disable octal
 set timeoutlen=3500
-"編集結果非保存のバッファから、新しいバッファを開くときに警告を出さない
 set hidden
-"ヒストリの保存数
 set history=100000
-"日本語の行の連結時には空白を入力しない
 set formatoptions+=mM
-" 改行時にコメントしない
-autocmd MyAutoCmd FileType *
-      \ setl formatoptions-=ro | setl formatoptions+=mM
 set textwidth=0
-"Visual blockモードでフリーカーソルを有効にする
 set virtualedit=block
-"カーソルキーで行末／行頭の移動可能に設定
 set whichwrap=b,s,[,],<,>
-"バックスペースでインデントや改行を削除できるようにする
 set backspace=indent,eol,start
-"□や○の文字があってもカーソル位置がずれないようにする
 set ambiwidth=double
-"コマンドライン補完するときに強化されたものを使う
 set wildmenu
 set wildmode=list,full
-"マウスを有効にする
 if has('mouse')
-  set mouse=a
+    set mouse=a
 endif
-"自動で読み込み直す
 set autoread
-" Check timestamp more for 'autoread'.
-autocmd MyAutoCmd WinEnter * checktime
+au MyAutoCmd WinEnter * checktime
 "===================================================================================}}}

 "{{{ ========== Search ================================================================
-"検索の時に大文字小文字を区別しない
-"ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する
 set ignorecase
 set smartcase
-"検索時にファイルの最後まで行ったら最初に戻る
 set wrapscan
-"インクリメンタルサーチ
 set incsearch
-" Ignore case on insert completion.
-set infercase
-"検索文字の強調表示
+set infercase " Ignore case on insert completion.
 set hlsearch
-"highlight消去
-"nnoremap <ESC><ESC> :<C-u>noh<CR>
-"<C-p> <C-n>でそれぞれ過去の検索から補完
 cnoremap <C-p> <Up>
 cnoremap <C-n> <Down>
-"w,bの移動で認識する文字
-"vimgrep をデフォルトのgrepとする場合internal
 set grepprg=grep\ -nH
-"vimgrepで自動でcw
 " https://sites.google.com/site/hymd3a/vim/vimgrep
-autocmd MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
+au MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
 "===================================================================================}}}

 "{{{ ========== Appearance ============================================================
-"スプラッシュ(起動時のメッセージ)を表示しない
-"set shortmess+=I
-"エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定)
+" no sound
 set noerrorbells
 set novisualbell
 set visualbell t_vb=
-"マクロ実行中などの画面再描画を行わない
-"set lazyredraw
-"Windowsでディレクトリパスの区切り文字表示に / を使えるようにする
-"set noshellslash
 set shellslash
-"行番号表示
 set number
-if version >= 703
-  "相対行番号表示(7.3)
-  "set relativenumber
-endif
-"括弧の対応表示時間
 set showmatch matchtime=3
-"タブ幅を設定する
 set tabstop=4
 set shiftwidth=4
 set softtabstop=0
 set expandtab
-"タブ文字、行末など不可視文字を表示する
 set list
-"listで表示される文字のフォーマットを指定する
-"set listchars=tab:\ \ ,eol:\ ,trail:-
 if s:is_windows
   set listchars=tab:>_,trail:-,extends:>,precedes:<
 else
   set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%
 endif
-"バックアップファイルディレクトリ指定
 set backupdir=$MY_BACKUP_DIR
-"スワップファイルディレクトリ指定
 set directory=$MY_BACKUP_DIR
-"自動的にインデントする
 set autoindent
-"Cインデントの設定
 set cinoptions+=:0
-"タイトルを表示
 set title
-"コマンドラインの高さ (gvimはgvimrcで指定)
 set cmdheight=2
 set laststatus=2
-"コマンドをステータス行に表示
 set showcmd
-"画面最後の行をできる限り表示する
 set display=lastline
-"折り畳みをマークで可能にする
 set foldmethod=marker
-" ハイライトを有効にする
+set t_Co=256
 if &t_Co > 2 || has('gui_running')
   syntax on
 endif
-"検索結果を見やすく
 highlight Search ctermbg=1

-"色テーマ設定
-"256色表示設定
-set t_Co=256
-"gvimの色テーマは.gvimrcで指定する
+" color
 set background=dark
 colorscheme hybrid
-let g:molokai_original = 1
-let g:rehash256 = 1
-let g:solarized_termcolors = 256
-" 輝度を高くする
-let g:solarized_visibility = "high"
-" コントラストを高くする
-let g:solarized_contrast = "high"
-"===================================================================================}}}
-
-"{{{ ========== StatusLine ============================================================
-"ステータスラインに文字コード等表示
-"iconvが使用可能の場合、カーソル上の文字コードをエンコードに応じた表示にするFencB()を使用
-""""""""""""""""""""""""""""""
-if has('iconv')
-  set statusline=%<     " 行が長すぎるときに切り詰める位置
-  set statusline+=[%n]  " バッファ番号
-  set statusline+=%m    " %m 修正フラグ
-  set statusline+=%r    " %r 読み込み専用フラグ
-  set statusline+=%h    " %h ヘルプバッファフラグ
-  set statusline+=%w    " %w プレビューウィンドウフラグ
-  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-  set statusline+=%y    " バッファ内のファイルのタイプ
-  set statusline+=\     " 空白スペース
-  if winwidth(0) >= 130
-    set statusline+=%F    " バッファ内のファイルのフルパス
-  else
-    set statusline+=%t    " ファイル名のみ
-  endif
-  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=[0x%{FencB()}]  "文字コード表示"
-  set statusline+=%1l   " 何行目にカーソルがあるか
-  set statusline+=/
-  set statusline+=%L    " バッファ内の総行数
-  set statusline+=,
-  set statusline+=%c    " 何列目にカーソルがあるか
-  set statusline+=%V    " 画面上の何列目にカーソルがあるか
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%P    " ファイル内の何％の位置にあるか
-else
-  set statusline=%<     " 行が長すぎるときに切り詰める位置
-  set statusline+=[%n]  " バッファ番号
-  set statusline+=%m    " %m 修正フラグ
-  set statusline+=%r    " %r 読み込み専用フラグ
-  set statusline+=%h    " %h ヘルプバッファフラグ
-  set statusline+=%w    " %w プレビューウィンドウフラグ
-  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-  set statusline+=%y    " バッファ内のファイルのタイプ
-  set statusline+=\     " 空白スペース
-  if winwidth(0) >= 130
-    set statusline+=%F    " バッファ内のファイルのフルパス
-  else
-    set statusline+=%t    " ファイル名のみ
-  endif
-  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%1l   " 何行目にカーソルがあるか
-  set statusline+=/
-  set statusline+=%L    " バッファ内の総行数
-  set statusline+=,
-  set statusline+=%c    " 何列目にカーソルがあるか
-  set statusline+=%V    " 画面上の何列目にカーソルがあるか
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%P    " ファイル内の何％の位置にあるか
-endif
-
-"FencB() : カーソル上の文字コードをエンコードに応じた表示にする
-function! FencB()
-  let c = matchstr(getline('.'), '.', col('.') - 1)
-  let c = iconv(c, &enc, &fenc)
-  return s:Byte2hex(s:Str2byte(c))
-endfunction
-
-function! s:Str2byte(str)
-  return map(range(len(a:str)), 'char2nr(a:str[v:val])')
-endfunction
-
-function! s:Byte2hex(bytes)
-  return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
-endfunction
 "===================================================================================}}}

 "{{{ ========== diff/patch ============================================================
-"diffの設定
-if s:is_windows
-  set diffexpr=MyDiff()
-  function! MyDiff()
-    let opt = '-a --binary '
-    if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
-    if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
-    let arg1 = v:fname_in
-    if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
-    let arg2 = v:fname_new
-    if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
-    let arg3 = v:fname_out
-    if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
-    let eq = ''
-    if $VIMRUNTIME =~ ' '
-      if &sh =~ '\<cmd'
-        let cmd = '""' . $VIMRUNTIME . '\diff"'
-        let eq = '"'
-      else
-        let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
-      endif
-    else
-      let cmd = $VIMRUNTIME . '\diff'
-    endif
-    silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
-  endfunction
-endif
-
-"現バッファの差分表示(変更箇所の表示)
+" diff original"{{{
 command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
+"}}}
+
 "ファイルまたはバッファ番号を指定して差分表示。#なら裏バッファと比較
 command! -nargs=? -complete=file Diff if '<args>'=='' |
       \ browse vertical diffsplit|else| vertical diffsplit <args>|endif
2013年 12月  2日 月曜日 08:49:58
refactoring vimrc
[from now] 2013/12/03 01:47:13

diff --git a/vim/.vimrc_light b/vim/.vimrc_light
deleted file mode 100755
index 6ac7c09..0000000
--- a/vim/.vimrc_light
+++ /dev/null
@@ -1,781 +0,0 @@
-"{{{ ========== Basics ================================================================
-set nocompatible
-scriptencoding utf-8
-"scriptencodingと、このファイルのエンコーディングが一致するよう注意！
-
-"----------------------------------------
-" ユーザーランタイムパス設定
-"----------------------------------------
-"Windows, unixでのruntimepathの違いを吸収するためのもの。
-"$MY_VIMRUNTIMEはユーザーランタイムディレクトリを示す。
-":echo $MY_VIMRUNTIMEで実際のパスを確認できます。
-if isdirectory($HOME . '/.vim')
-    let $MY_VIMRUNTIME = $HOME.'/.vim'
-elseif isdirectory($HOME . '\vimfiles')
-    let $MY_VIMRUNTIME = $HOME.'\vimfiles'
-elseif isdirectory($VIM . '\vimfiles')
-    let $MY_VIMRUNTIME = $VIM.'\vimfiles'
-endif
-
-let s:is_windows = has('win16') || has('win32') || has('win64')
-let s:is_cygwin = has('win32unix')
-let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
-let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin
-
-let s:config_root = $MY_VIMRUNTIME
-let s:bundle_root = s:config_root . '/bundle'
-
-" release autogroup in MyAutoCmd
-augroup MyAutoCmd
-  autocmd!
-augroup END
-"===================================================================================}}}
-
-"{{{ ========== Plugins ===============================================================
-
-filetype plugin on
-filetype indent on
-
-"===================================================================================}}}
-
-"{{{ ========== VimScripts ============================================================
-"ファイルを開いたら前回のカーソル位置へ移動
-"$VIMRUNTIME/vimrc_example.vim
-""""""""""""""""""""""""""""""
-augroup vimrcEx
-    autocmd!
-    autocmd BufReadPost *
-                \ if line("'\"") > 1 && line("'\"") <= line('$') |
-                \   exe "normal! g`\"" |
-                \ endif
-augroup END
-""""""""""""""""""""""""""""""
-"全角スペースを表示
-""""""""""""""""""""""""""""""
-"コメント以外で全角スペースを指定しているので、scriptencodingと、
-"このファイルのエンコードが一致するよう注意！
-"強調表示されない場合、ここでscriptencodingを指定するとうまくいく事があります。
-function! ZenkakuSpace()
-    highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey
-    "全角スペースを明示的に表示する
-    silent! match ZenkakuSpace /　/
-endfunction
-
-if has('syntax')
-    autocmd MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
-endif
-""""""""""""""""""""""""""""""
-"grep,tagsのためカレントディレクトリをファイルと同じディレクトリに移動する
-""""""""""""""""""""""""""""""
-" autochdirが存在しないが、カレントディレクトリを移動したい場合
-au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
-
-"ctags用のディレクトリさかのぼって検索
-"set tags+=tags;
-" set tag file. don't search tags in pwd and search upward
-set tags& tags-=tags tags+=./tags;
-if v:version < 703 || (v:version == 7.3 && !has('patch336'))
-  set notagbsearch
-endif
-""""""""""""""""""""""""""""""
-" システム関数
-""""""""""""""""""""""""""""""
-let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'
-
-""""""""""""""""""""""""""""""
-" Compiler
-""""""""""""""""""""""""""""""
-if ! s:is_windows
-    autocmd MyAutoCmd FileType javascript compiler gjslint
-endif
-autocmd MyAutoCmd FileType scala compiler sbt
-
-""""""""""""""""""""""""""""""
-" function
-""""""""""""""""""""""""""""""
-function! s:mkdir(dir)
-    if !isdirectory(a:dir)
-        call mkdir(a:dir, "p")
-    endif
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== System ================================================================
-"ファイルの上書きの前にバックアップを作る/作らない
-"set writebackupを指定してもオプション 'backup' がオンでない限り、
-"バックアップは上書きに成功した後に削除される。
-"set nowritebackup
-"バックアップ/スワップファイルを作成する/しない
-"set nobackup
-"verbose
-"set verbose=9
-"バックアップディレクトリ
-let $MY_BACKUP_DIR = $MY_VIMRUNTIME.'/back'
-call s:mkdir($MY_BACKUP_DIR)
-
-if version >= 703
-    "再読込、vim終了後も継続するアンドゥ(7.3)
-    set undofile
-    "アンドゥの保存場所(7.3)
-    set undodir=$MY_BACKUP_DIR
-endif
-"set noswapfile
-"viminfoを作成しない
-"set viminfo=
-"encoding
-set encoding=utf-8
-" クリップボードをデフォルトのレジスタとして指定。後にYankRingを使うので
-" 'unnamedplus'が存在しているかどうかで設定を分ける必要がある
-if has('unnamedplus')
-    set clipboard& clipboard+=unnamedplus
-else
-    " set clipboard& clipboard+=unnamed,autoselect
-    set clipboard& clipboard+=unnamed
-endif
-" 新しく開く代わりにすでに開いてあるバッファを開く
-set switchbuf=useopen
-"8進数を無効にする。<C-a>,<C-x>に影響する
-set nrformats-=octal
-"キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
-set timeoutlen=3500
-"編集結果非保存のバッファから、新しいバッファを開くときに警告を出さない
-set hidden
-"ヒストリの保存数
-set history=100000
-"日本語の行の連結時には空白を入力しない
-set formatoptions+=mM
-" 改行時にコメントしない
-autocmd MyAutoCmd FileType *
-            \ setl formatoptions-=ro | setl formatoptions+=mM
-set textwidth=0
-"Visual blockモードでフリーカーソルを有効にする
-set virtualedit=block
-"カーソルキーで行末／行頭の移動可能に設定
-set whichwrap=b,s,[,],<,>
-"バックスペースでインデントや改行を削除できるようにする
-set backspace=indent,eol,start
-"□や○の文字があってもカーソル位置がずれないようにする
-set ambiwidth=double
-"コマンドライン補完するときに強化されたものを使う
-set wildmenu
-set wildmode=list,full
-"マウスを有効にする
-if has('mouse')
-    set mouse=a
-endif
-"自動で読み込み直す
-set autoread
-" Check timestamp more for 'autoread'.
-autocmd MyAutoCmd WinEnter * checktime
-"===================================================================================}}}
-
-"{{{ ========== Search ================================================================
-"検索の時に大文字小文字を区別しない
-"ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する
-set ignorecase
-set smartcase
-"検索時にファイルの最後まで行ったら最初に戻る
-set wrapscan
-"インクリメンタルサーチ
-set incsearch
-" Ignore case on insert completion.
-set infercase
-"検索文字の強調表示
-set hlsearch
-"highlight消去
-"nnoremap <ESC><ESC> :<C-u>noh<CR>
-"<C-p> <C-n>でそれぞれ過去の検索から補完
-cnoremap <C-p> <Up>
-cnoremap <C-n> <Down>
-"w,bの移動で認識する文字
-"vimgrep をデフォルトのgrepとする場合internal
-set grepprg=grep\ -nH
-"vimgrepで自動でcw
-" https://sites.google.com/site/hymd3a/vim/vimgrep
-autocmd MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
-"===================================================================================}}}
-
-"{{{ ========== Appearance ============================================================
-"スプラッシュ(起動時のメッセージ)を表示しない
-"set shortmess+=I
-"エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定)
-set noerrorbells
-set novisualbell
-set visualbell t_vb=
-"マクロ実行中などの画面再描画を行わない
-"set lazyredraw
-"Windowsでディレクトリパスの区切り文字表示に / を使えるようにする
-"set noshellslash
-set shellslash
-"行番号表示
-set number
-if version >= 703
-    "相対行番号表示(7.3)
-    "set relativenumber
-endif
-"括弧の対応表示時間
-set showmatch matchtime=3
-"タブ幅を設定する
-set tabstop=4
-set shiftwidth=4
-set softtabstop=0
-set expandtab
-"タブ文字、行末など不可視文字を表示する
-set list
-"listで表示される文字のフォーマットを指定する
-"set listchars=tab:\ \ ,eol:\ ,trail:-
-if s:is_windows
-    set listchars=tab:>_,trail:-,extends:>,precedes:<
-else
-    set listchars=tab:≫-,trail:-,extends:≫,precedes:≪,nbsp:%
-endif
-"バックアップファイルディレクトリ指定
-set backupdir=$MY_BACKUP_DIR
-"スワップファイルディレクトリ指定
-set directory=$MY_BACKUP_DIR
-"自動的にインデントする
-set autoindent
-"Cインデントの設定
-set cinoptions+=:0
-"タイトルを表示
-set title
-"コマンドラインの高さ (gvimはgvimrcで指定)
-set cmdheight=2
-set laststatus=2
-"コマンドをステータス行に表示
-set showcmd
-"画面最後の行をできる限り表示する
-set display=lastline
-"折り畳みをマークで可能にする
-set foldmethod=marker
-" ハイライトを有効にする
-if &t_Co > 2 || has('gui_running')
-    syntax on
-endif
-"検索結果を見やすく
-highlight Search ctermbg=1
-
-"色テーマ設定
-"256色表示設定
-set t_Co=256
-"gvimの色テーマは.gvimrcで指定する
-set background=light
-"let g:solarized_termcolors=256
-"===================================================================================}}}
-
-"{{{ ========== StatusLine ============================================================
-"ステータスラインに文字コード等表示
-"iconvが使用可能の場合、カーソル上の文字コードをエンコードに応じた表示にするFencB()を使用
-""""""""""""""""""""""""""""""
-if has('iconv')
-    "set statusline=%<%f\ %m\ %r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=[0x%{FencB()}]\ (%v,%l)/%L%8P\
-    set statusline=%<     " 行が長すぎるときに切り詰める位置
-    set statusline+=[%n]  " バッファ番号
-    set statusline+=%m    " %m 修正フラグ
-    set statusline+=%r    " %r 読み込み専用フラグ
-    set statusline+=%h    " %h ヘルプバッファフラグ
-    set statusline+=%w    " %w プレビューウィンドウフラグ
-    set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-    set statusline+=%y    " バッファ内のファイルのタイプ
-    set statusline+=\     " 空白スペース
-    if winwidth(0) >= 130
-        set statusline+=%F    " バッファ内のファイルのフルパス
-    else
-        set statusline+=%t    " ファイル名のみ
-    endif
-    set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-    set statusline+=\ \   " 空白スペース2個
-    set statusline+=[0x%{FencB()}]  "文字コード表示"
-    set statusline+=%1l   " 何行目にカーソルがあるか
-    set statusline+=/
-    set statusline+=%L    " バッファ内の総行数
-    set statusline+=,
-    set statusline+=%c    " 何列目にカーソルがあるか
-    set statusline+=%V    " 画面上の何列目にカーソルがあるか
-    set statusline+=\ \   " 空白スペース2個
-    set statusline+=%P    " ファイル内の何％の位置にあるか
-else
-    "set statusline=%<%f\ %m\ %r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=\ (%v,%l)/%L%8P\
-    set statusline=%<     " 行が長すぎるときに切り詰める位置
-    set statusline+=[%n]  " バッファ番号
-    set statusline+=%m    " %m 修正フラグ
-    set statusline+=%r    " %r 読み込み専用フラグ
-    set statusline+=%h    " %h ヘルプバッファフラグ
-    set statusline+=%w    " %w プレビューウィンドウフラグ
-    set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-    set statusline+=%y    " バッファ内のファイルのタイプ
-    set statusline+=\     " 空白スペース
-    if winwidth(0) >= 130
-        set statusline+=%F    " バッファ内のファイルのフルパス
-    else
-        set statusline+=%t    " ファイル名のみ
-    endif
-    set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-    set statusline+=\ \   " 空白スペース2個
-    set statusline+=%1l   " 何行目にカーソルがあるか
-    set statusline+=/
-    set statusline+=%L    " バッファ内の総行数
-    set statusline+=,
-    set statusline+=%c    " 何列目にカーソルがあるか
-    set statusline+=%V    " 画面上の何列目にカーソルがあるか
-    set statusline+=\ \   " 空白スペース2個
-    set statusline+=%P    " ファイル内の何％の位置にあるか
-endif
-
-"FencB() : カーソル上の文字コードをエンコードに応じた表示にする
-function! FencB()
-    let c = matchstr(getline('.'), '.', col('.') - 1)
-    let c = iconv(c, &enc, &fenc)
-    return s:Byte2hex(s:Str2byte(c))
-endfunction
-
-function! s:Str2byte(str)
-    return map(range(len(a:str)), 'char2nr(a:str[v:val])')
-endfunction
-
-function! s:Byte2hex(bytes)
-    return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== diff/patch ============================================================
-"diffの設定
-if s:is_windows
-    set diffexpr=MyDiff()
-    function! MyDiff()
-        let opt = '-a --binary '
-        if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
-        if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
-        let arg1 = v:fname_in
-        if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
-        let arg2 = v:fname_new
-        if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
-        let arg3 = v:fname_out
-        if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
-        let eq = ''
-        if $VIMRUNTIME =~ ' '
-            if &sh =~ '\<cmd'
-                let cmd = '""' . $VIMRUNTIME . '\diff"'
-                let eq = '"'
-            else
-                let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
-            endif
-        else
-            let cmd = $VIMRUNTIME . '\diff'
-        endif
-        silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
-    endfunction
-endif
-
-"現バッファの差分表示(変更箇所の表示)
-command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
-"ファイルまたはバッファ番号を指定して差分表示。#なら裏バッファと比較
-command! -nargs=? -complete=file Diff if '<args>'=='' | browse vertical diffsplit|else| vertical diffsplit <args>|endif
-"パッチコマンド
-set patchexpr=MyPatch()
-function! MyPatch()
-    :call system($VIM."\\'.'patch -o " . v:fname_out . " " . v:fname_in . " < " . v:fname_diff)
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== Mappings ==============================================================
-"----------------------------------------
-" ノーマルモード
-"----------------------------------------
-"ヘルプ検索
-nnoremap <F1> K
-"強制全保存終了を無効化
-nnoremap ZZ <Nop>
-"カーソルをj k では表示行で移動する。物理行移動は<C-n>,<C-p>
-"キーボードマクロには物理行移動を推奨
-"h l は行末、行頭を超えることが可能に設定(whichwrap)
-nnoremap <Down> gj
-nnoremap <Up>   gk
-nnoremap h <Left>
-nnoremap j gj
-nnoremap k gk
-nnoremap l <Right>
-"l を <Right>に置き換えても、折りたたみを l で開くことができるようにする
-if has('folding')
-    nnoremap <expr> l foldlevel(line('.')) ? "\<Right>zo" : "\<Right>"
-endif
-
-"バッファ移動
-nnoremap gh :bp<CR>
-nnoremap gl :bn<CR>
-"タブ移動
-"kaoriyaのdicwinはいらん！
-let plugin_dicwin_disable = 1
-
-"spaceを使えるように
-nmap <Space> [Space]
-nnoremap [Space] <Nop>
-
-nnoremap <SID>[tab-right] gt
-nnoremap <SID>[tab-left] gT
-nmap <C-L> <SID>[tab-right]
-nmap <C-H> <SID>[tab-left]
-
-"Window操作
-nnoremap <M-j> <C-w>+
-nnoremap <M-k> <C-w>-
-nnoremap <M-h> <C-w><
-nnoremap <M-l> <C-w>>
-nnoremap <A-j> <C-w>+
-nnoremap <A-k> <C-w>-
-nnoremap <A-h> <C-w><
-nnoremap <A-l> <C-w>>
-nnoremap <S-Left>  <C-w><<CR>
-nnoremap <S-Right> <C-w>><CR>
-nnoremap <S-Up>    <C-w>-<CR>
-nnoremap <S-Down>  <C-w>+<CR>
-
-nnoremap [Space]s :<C-u>split<CR>
-nnoremap [Space]v :<C-u>vsplit<CR>
-
-"ログとか見る時用
-autocmd MyAutoCmd BufNewFile,BufRead *.csv,*.log setl nowrap
-
-" iminsert
-inoremap <silent> <ESC> <ESC>:<C-u>set iminsert=0<CR>
-
-"----------------------------------------
-" 挿入モード
-"----------------------------------------
-"括弧を自動で補完する設定
-"inoremap { {}<LEFT>
-"inoremap [ []<LEFT>
-"inoremap ( ()<LEFT>
-"inoremap " ""<LEFT>
-"inoremap ' ''<LEFT>
-
-"----------------------------------------
-" 短縮入力
-"----------------------------------------
-" for ruby
-"au MyAutoCmd FileType ruby inoreab <buffer> module module<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> class class<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> def def<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> do do<cr>end<up><end>
-" for C
-au MyAutoCmd FileType c inoreab <buffer> { {<cr>}<up><end>
-" for javascript
-au MyAutoCmd FileType javascript inoreab <buffer> /** /**************************************************************************<CR><Space>*<CR>**************************************************************************/<Up><Space>
-"----------------------------------------
-" ビジュアルモード
-"----------------------------------------
-"括弧まで自動でかこむ
-"vnoremap { "zdi^V{<C-R>z}<ESC>
-"vnoremap [ "zdi^V[<C-R>z]<ESC>
-"vnoremap ( "zdi^V(<C-R>z)<ESC>
-"vnoremap " "zdi^V"<C-R>z^V"<ESC>
-"vnoremap ' "zdi'<C-R>z'<ESC>
-
-"----------------------------------------
-" コマンドモード
-"----------------------------------------
-"sudo で保存
-com! Wsu w !sudo tee > /dev/null %
-"like emacs
-cnoremap <C-b> <Left>
-cnoremap <C-f> <Right>
-cnoremap <C-a> <Home>
-cnoremap <C-e> <End>
-cnoremap <C-d> <Del>
-cnoremap <C-y> <C-r>
-"===================================================================================}}}
-
-"{{{ ========== Language Settings =====================================================
-" python
-"http://d.hatena.ne.jp/over80/20090305/1236264851#20090305f1
-autocmd MyAutoCmd FileType python setl autoindent
-autocmd MyAutoCmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
-autocmd MyAutoCmd FileType python setl tabstop=8 expandtab shiftwidth=4 softtabstop=4
-autocmd MyAutoCmd FileType python setl foldmethod=indent foldlevel=99
-" autoread for coffee
-" 適当なタイミングで再読み込み
-autocmd MyAutoCmd CursorHold *.cmd checktime
-autocmd MyAutoCmd CursorHold *.js checktime
-autocmd MyAutoCmd CursorMoved *.cmd checktime
-autocmd MyAutoCmd CursorMoved *.js checktime
-
-""""""""""""""""""""""""""""""
-" ファイルタイプ
-""""""""""""""""""""""""""""""
-autocmd MyAutoCmd BufNewFile,BufRead *.cmd setl ft=javascript fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.hta setl ft=html fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.sql setl fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.bat setl fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.ts setl ft=typescript fenc=utf8 ff=unix
-autocmd MyAutoCmd BufNewFile,BufRead *.coffee setl ft=coffee fenc=utf8 ff=unix tabstop=4 shiftwidth=2 softtabstop=2 expandtab
-autocmd MyAutoCmd BufNewFile,BufRead *.uml setl fenc=cp932 ff=dos ft=plantuml
-autocmd MyAutoCmd BufNewFile,BufRead *.diag setl fenc=utf8 ff=unix ft=blockdiag
-autocmd MyAutoCmd BufNewFile,BufRead *.md setl ft=markdown
-autocmd MyAutoCmd BufNewFile,BufRead *.rst setl tabstop=8 shiftwidth=3 softtabstop=3 expandtab
-autocmd MyAutoCmd BufNewFile,BufRead *.jade setl ft=jade
-autocmd MyAutoCmd BufNewFile,BufRead *.styl setl ft=stylus tabstop=8 shiftwidth=2 softtabstop=2 expandtab
-autocmd MyAutoCmd bufnewfile,bufread *.scpt,*.applescript setl filetype=applescript
-autocmd MyAutoCmd bufnewfile,bufread *.scala setl ft=scala
-autocmd MyAutoCmd bufnewfile,bufread *.rb setl ft=ruby fenc=utf8 ff=unix tabstop=4 shiftwidth=2 softtabstop=2 expandtab
-"===================================================================================}}}
-
-"{{{ ========== Temp Settings =========================================================
-" 行末の余分な改行を削除
-"autocmd MyAutoCmd BufWritePre * call RTrim()
-function! RTrim()
-    let save_cursor = getpos(".")
-    %s/\s\+$//e
-    call setpos(".", save_cursor)
-endfunction
-
-" 保存時にインデントをフォーマット
-"autocmd MyAutoCmd BufWrite * call Format()
-function! Format()
-    "let save_cursor = getpos(".")
-    let save_view = winsaveview()
-    normal gg=G
-    "call setpos('.', save_cursor)
-    call winrestview(save_view)
-    "normal zz
-endfunction
-nnoremap [Space]f :call Format()<CR>
-
-" Windowsで、ieで開く
-if s:is_windows
-    function! IeStart()
-        silent ! start iexplore "%:p"
-    endfunction
-endif
-" Windowsで、firefoxで開く
-if s:is_windows
-    function! Firefox()
-        silent ! start firefox "%:p"
-    endfunction
-endif
-
-" ブラウザでプレビュー
-function! Preview()
-    if s:is_windows
-        silent ! start chrome "%:p"
-        "silent ! start firefox "%:p"
-    elseif s:is_darwin
-        silent ! open "%:p"
-    else
-        silent ! firefox "%:p"
-    endif
-endfunction
-nnoremap <Leader>p :call Preview()<CR>
-
-" 範囲選択検索置き換え
-" http://vim-users.jp/2009/11/hack104/
-vnoremap <silent> * "vy/\V<C-r>=substitute(escape(@v,'\/'),"\n",'\\n','g')<CR><CR>
-
-" vimrc簡単編集
-" Vim-users.jp - Hack #74: 簡単にvimrcを編集する http://vim-users.jp/2009/09/hack74/
-if s:is_windows
-    let s:myvimrc = 'C:\cygwin\home\' . $USERNAME . '\dotfiles\vim\.vimrc'
-    nnoremap <silent> [Space]ev :<C-u>tabedit eval(s:myvimrc)<CR>
-else
-    nnoremap <silent> [Space]ev  :<C-u>tabedit $MYVIMRC<CR>
-endif
-nnoremap <silent> [Space]eg  :<C-u>tabedit $MYGVIMRC<CR>
-
-" Load .gvimrc after .vimrc edited at GVim.
-"nnoremap <silent> [Space]rv :<C-u>source $MYVIMRC \| if has('gui_running') \| source $MYGVIMRC \| endif <CR>
-"nnoremap <silent> [Space]rg :<C-u>source $MYGVIMRC<CR>
-
-" JunkFile {{{
-" http://vim-users.jp/2010/11/hack181/
-"" Open junk file.
-"command! -nargs=0 JunkFile call s:open_junk_file()
-"function! s:open_junk_file()
-    "let l:junk_dir = $HOME . '/.vim_junk'. strftime('/%Y/%m')
-    "if !isdirectory(l:junk_dir)
-        "call mkdir(l:junk_dir, 'p')
-    "endif
-
-    "let l:filename = input('Junk Code: ', l:junk_dir.strftime('/%Y-%m-%d-%H%M%S.'))
-    "if l:filename != ''
-        "execute 'edit ' . l:filename
-    "endif
-"endfunction
-" }}}
-
-" コマンドラインを使わず，コマンドラインウィンドウを使う {{{
-" http://vim-users.jp/2010/07/hack161/
-" No Command-line window by Shougo http://vim-users.jp/2010/07/hack161/
-"set cmdwinheight=13
-"nnoremap <sid>(command-line-enter) q:
-"xnoremap <sid>(command-line-enter) q:
-"nnoremap <sid>(command-line-norange) q:<C-u>
-
-"nmap :  <sid>(command-line-enter)
-"xmap :  <sid>(command-line-enter)
-
-"" I added
-""nnoremap q: q:<Esc>
-
-"autocmd MyAutoCmd CmdwinEnter * call s:init_cmdwin()
-"" ESCキーを2回押すと終了する
-"au MyAutoCmd CmdwinEnter * nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
-"au MyAutoCmd CmdwinEnter * inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
-
-"" I added
-"au MyAutoCmd CmdwinEnter :  let b:cpt_save = &cpt | set cpt=.
-"au MyAutoCmd CmdwinLeave :  let &cpt = b:cpt_save
-
-"" MacVim is shit
-"autocmd MyAutoCmd CmdwinEnter * nnoremap <buffer><expr> <Cr> CmdwinRun()
-"autocmd MyAutoCmd CmdwinEnter * inoremap <buffer><expr> <Cr> CmdwinRun()
-"function! CmdwinRun()
-    "let a = getline(line('.'))
-    "return "\<Esc>\<C-c>\<C-c>:" . a . "\<Cr>"
-"endfunction
-
-"function! s:init_cmdwin()
-    "nnoremap <buffer> q :<C-u>quit<CR>
-    "nnoremap <buffer> <TAB> :<C-u>quit<CR>
-    "inoremap <buffer><expr><CR> pumvisible() ? "\<C-y>\<CR>" : "\<CR>"
-    "inoremap <buffer><expr><C-h> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-    ""inoremap <buffer><expr><BS> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-    ""I added
-    "inoremap <buffer><expr><BS> col('.') == 1 ? "\<ESC>:quit\<CR>" : pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-    "inoremap <buffer><expr>: col('.') == 1 ? "VimProcBang " : ":"
-    ""inoremap <buffer><expr> \  smartchr#one_of('~/', '\')
-
-    "" Completion.
-    "inoremap <buffer><expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
-
-    "" HootSuite
-    ""inoreabbrev <buffer> c: ./core/mvc/controllers/mobile/
-    ""inoreabbrev <buffer> v: ./core/mvc/views/mobile/
-
-    "startinsert!
-"endfunction
-" }}}
-
-"Vim-users.jp - Hack #78: CSVの特定のカラムをハイライトする {{{
-"http://vim-users.jp/2009/09/hack78/
-function! CSVH(x)
-    execute 'match Keyword /^\([^,]*,\)\{'.a:x.'}\zs[^,]*/'
-    execute 'normal ^'.a:x.'f,'
-endfunction
-command! -nargs=1 Csvhl :call CSVH(<args>)
-" }}}
-
-" 縦に連番を入力する http://d.hatena.ne.jp/osyo-manga/20120326/1332688467 {{{
-nnoremap <silent> co :ContinuousNumber <C-a><CR>
-vnoremap <silent> co :ContinuousNumber <C-a><CR>
-command! -count -nargs=1 ContinuousNumber let c = col('.')|for n in range(1, <count>?<count>-line('.'):1)|exec 'normal! j' . n . <q-args>|call cursor('.', c)|endfor
-" }}}
-
-" Hack #202: 自動的にディレクトリを作成する {{{
-" http://vim-users.jp/2011/02/hack202/
-autocmd MyAutoCmd BufWritePre * call s:auto_mkdir(expand('<afile>:p:h'), v:cmdbang)
-function! s:auto_mkdir(dir, force)
-    if !isdirectory(a:dir) && (a:force ||
-                \    input(printf('"%s" does not exist. Create? [y/N]', a:dir)) =~? '^y\%[es]$')
-        call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
-    endif
-endfunction
-" }}}
-
-" Hack #62: カーソル下のキーワードをバッファ内全体で置換する {{{
-" http://vim-users.jp/2009/08/hack62/
-nnoremap <expr> s* ':%substitute/\<' . expand('<cword>') . '\>/'
-" }}}
-
-" Capture {{{
-" https://gist.github.com/369112#file-vimrc
-command!
-      \ -nargs=+ -bang
-      \ -complete=command
-      \ Capture
-      \ call s:cmd_capture([<f-args>], <bang>0)
-
-function! C(cmd)
-  redir => result
-  silent execute a:cmd
-  redir END
-  return result
-endfunction
-
-function! s:cmd_capture(args, banged)
-  new
-  silent put =C(join(a:args))
-  1,2delete _
-endfunction
-" }}}
-
-"" 'cursorline' を必要な時にだけ有効にする - 永遠に未完成 {{{
-" http://d.hatena.ne.jp/thinca/20090530/1243615055
-autocmd MyAutoCmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved')
-autocmd MyAutoCmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold')
-autocmd MyAutoCmd WinEnter * call s:auto_cursorline('WinEnter')
-autocmd MyAutoCmd WinLeave * call s:auto_cursorline('WinLeave')
-
-let s:cursorline_lock = 0
-function! s:auto_cursorline(event)
-    if a:event ==# 'WinEnter'
-        setlocal cursorline
-        setlocal cursorcolumn
-        let s:cursorline_lock = 2
-    elseif a:event ==# 'WinLeave'
-        setlocal nocursorline
-        setlocal nocursorcolumn
-    elseif a:event ==# 'CursorMoved'
-        if s:cursorline_lock
-            if 1 < s:cursorline_lock
-                let s:cursorline_lock = 1
-            else
-                setlocal nocursorline
-                setlocal nocursorcolumn
-                let s:cursorline_lock = 0
-            endif
-        endif
-    elseif a:event ==# 'CursorHold'
-        setlocal cursorline
-        setlocal cursorcolumn
-        let s:cursorline_lock = 1
-    endif
-endfunction
-" }}}
-
-" Scala コンパイル {{{
-" http://vim-users.jp/2013/02/vim-advent-calendar-2012-ujihisa-4/
-function! s:ujihisa_start_sbt()
-  execute 'VimShellInteractive sbt'
-  stopinsert
-  let t:sbt_bufname = bufname('%')
-  if !has_key(t:, 'sbt_cmds')
-    let t:sbt_cmds = [input('t:sbt_cmds[0] = ')]
-  endif
-  wincmd p
-endfunction
-
-command! -nargs=0 StartSBT call <SID>ujihisa_start_sbt()
-
-function! s:sbt_run()
-  let cmds = get(t:, 'sbt_cmds', 'run')
-
-  let sbt_bufname = get(t:, 'sbt_bufname')
-  if sbt_bufname !=# ''
-    call vimshell#interactive#set_send_buffer(sbt_bufname)
-    call vimshell#interactive#send(cmds)
-  else
-    echoerr 'try StartSBT'
-  endif
-endfunction
-
-function! s:vimrc_scala()
-  nnoremap <buffer> [Space]m :<C-u>write<Cr>:call <SID>sbt_run()<Cr>
-endfunction
-
-augroup vimrc_scala
-  autocmd!
-  autocmd FileType scala call s:vimrc_scala()
-  autocmd FileType scala nnoremap <buffer> [Space]st :<C-u>StartSBT<Cr>
-augroup END
-" }}}
-
-"===================================================================================}}}
diff --git a/vim/.vimrc_momonga b/vim/.vimrc_momonga
deleted file mode 100644
index c867f81..0000000
--- a/vim/.vimrc_momonga
+++ /dev/null
@@ -1,1977 +0,0 @@
-" Kanari Sugoi .vimrc
-
-" Rules  {{{
-
-" Mapping  {{{
-"
-" * Emacs-like mapping
-"    - If the command is not countable or motion,
-"      it should be mapped with "<Space>" or "<C-c>" prefixed binding
-"    - The command for global scene should be mapped with "<Space>" prefix,
-"      but the command which depends on buftype or filetype should be mapped with
-"      "<C-c>" prefix.
-"    - Separating global and buffer/file local is very important to use
-"      mappings efficiency.
-"
-" }}}
-
-" NeoBundle  {{{
-"
-" * Managing
-"   - Options for "NeoBundleLazy" should be only "build", "depends", and other
-"     options which are only related of installing, building, and updating.
-"   - Other options such as "autoload" and plugin's own settings should be
-"     set in their each "neobundle#tap()" sections.
-"   - Separating plugins' list and their configuration sections is very
-"     important.
-"
-" }}}
-
-" }}}
-
-" Basic  {{{
-
-" Absolute {{{
-
-" Use VIM features instead of vi
-" It canses many side effects, so you need to write the top of the ".vimrc".
-set nocompatible
-
-" Reset Autocmd group
-augroup MyAutoCmd
-  autocmd!
-augroup END
-
-" To use camel_case.
-let g:My = {}
-let s:my = g:My
-
-" Echo startup time on start
-if has('vim_starting') && has('reltime')
-  let g:startuptime = reltime()
-  augroup MyAutoCmd
-    autocmd! VimEnter * let g:startuptime = reltime(g:startuptime) | redraw
-    \ | echomsg 'startuptime: ' . reltimestr(g:startuptime)
-  augroup END
-endif
-
-" .vim folder
-" Maybe I will never use other os than OS X...
-if has('unix')
-  let $VIM_DOTVIM_DIR=expand('~/.vim')
-else
-  let $VIM_DOTVIM_DIR=expand('~/.vim')
-endif
-
-let $MYVIMRC = resolve(expand('~/.vimrc'))
-
-let $VIM_REMOTE_BUNDLE_DIR = $VIM_DOTVIM_DIR . '/bundle'
-let $VIM_LOCAL_BUNDLE_DIR = $VIM_DOTVIM_DIR . '/local_bundle'
-let $VIM_NEOBUNDLE_DIR = $VIM_REMOTE_BUNDLE_DIR . '/neobundle.vim'
-
-let $VIM_SWAP_DIR = $VIM_DOTVIM_DIR . '/tmp/swap'
-let $VIM_BACKUP_DIR = $VIM_DOTVIM_DIR . '/tmp/backup'
-let $VIM_UNDO_DIR = $VIM_DOTVIM_DIR . '/tmp/undo'
-
-
-" }}}
-
-" Encoding  {{{
-"
-let &termencoding = &encoding
-set encoding=utf-8
-set fileencoding=utf-8
-set fileencodings=ucs-bom,utf-8,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932
-set fileformats=unix,dos,mac
-
-" }}}
-
-" Functions  {{{
-
-function! s:set(variable, value) "  {{{
-  execute printf("let &%s = a:value", a:variable)
-endfunction " }}}
-
-function! s:path_separator() " {{{
-  if has('win32') || has('win64')
-    return ';'
-  else
-    return ':'
-  endif
-endfunction " }}}
-
-function! s:prepend_path(current, path) "  {{{
-  return a:current == '' ?
-        \ a:path : a:path . s:path_separator() . a:current
-endfunction " }}}
-
-function! s:append_path(current, path) "  {{{
-  return a:current == '' ?
-        \ a:path : ( a:current . s:path_separator() . a:path )
-endfunction " }}}
-
-function! s:dirname(path) "  {{{
-  return fnamemodify(a:path, ':h')
-endfunction " }}}
-
-function! s:get_list(scope, name) "  {{{
-   return get(a:scope, a:name, [])
-endfunction " }}}
-
-function! s:add_to_uniq_list(list, element) "  {{{
-  return index(a:list, a:element) == -1 ?
-        \ add(a:list, a:element) :
-        \ a:list
-endfunction " }}}
-
-function! SelectInteractive(question, candidates) " {{{
-  try
-    let a:candidates[0] = toupper(a:candidates[0])
-    let l:select = 0
-    while index(a:candidates, l:select, 0, 1) == -1
-      let l:select = input(a:question . ' [' . join(a:candidates, '/') . '] ')
-      if l:select == ''
-        let l:select = a:candidates[0]
-      endif
-    endwhile
-    return tolower(l:select)
-  finally
-    redraw!
-  endtry
-endfunction " }}}
-
-function! BufferWipeoutInteractive() " {{{
-  if &modified == 1
-    let l:selected = SelectInteractive('Buffer is unsaved. Force quit?', ['n', 'w', 'y'])
-    if l:selected == 'w'
-      write
-      bwipeout
-    elseif l:selected == 'y'
-      bwipeout!
-    endif
-  else
-    bwipeout
-  endif
-endfunction " }}}
-
-" }}}
-
-" Environment Variables {{{
-
-let $PATH = s:append_path($PATH, '~/bin')
-let $PATH = s:prepend_path($PATH, '/usr/local/bin')
-let $PATH = s:append_path($PATH, '/Applications/MacVim.app/Contents/MacOS')
-let $PATH = s:append_path($PATH, '/Applications/Octave.app/Contents/Resources/bin')
-
-" Automatic detect current ruby's bin directory.
-" Including "gem", "rails", and others.
-let $PATH = s:append_path($PATH, s:dirname(resolve('/usr/local/bin/ruby')))
-
-" Gnuterm
-let $GNUTERM = 'x11'
-
-" Drip the JVM process manager
-if executable('drip')
-  let $JAVACMD = '/usr/local/bin/drip'
-  let $DRIP_INIT_CLASS = 'org.jruby.main.DripMain'
-  let $JRUBY_OPTS = '-J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xverify:nine'
-  " let $JAVA_OPTS = '-d32 -client'
-endif
-
-" Java {{{
-
-" It's necessary to show Japanese messages from JDK
-let $LANG = 'ja_JP.UTF-8'
-
-" Set JAVA_HOME to select your favorite JDK version.
-let $JAVA_HOME = '/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home'
-let $CLASSPATH = s:append_path($CLASSPATH, '.')
-
-" The directory which contains `jfxrt.jar`.
-" Note that in JDK8, `jfxrt.jar` is in ext folder
-if match($JAVA_HOME, 'jdk1.8') != -1
-  let $JFX_DIR = $JAVA_HOME . '/jre/lib/ext/'
-else
-  let $JFX_DIR = $JAVA_HOME . '/jre/lib/'
-endif
-
-" }}}
-
-" }}}
-
-" Appearance UI  {{{
-
-" Don't ring a bell and flash
-set vb t_vb=
-
-" Show line number
-set number
-
-" Always show tab
-set showtabline=2
-
-" Show invisible chars
-set list
-
-" When input close bracket, show start bracket
-set showmatch
-
-" Fix zenkaku chars' width
-set ambiwidth=double
-
-" }}}
-
-" Appearance Font  {{{
-
-set gfn=セプテンバーＭ-等幅:h14
-set gfw=セプテンバーＭ-等幅:h14
-
-" }}}
-
-" Appearance Color theme  {{{
-
-colorscheme desert
-
-" }}}
-
-" Syntax  {{{
-
-" }}}
-
-" Backup  {{{
-
-call s:set('directory', $VIM_SWAP_DIR)
-call s:set('backupdir', $VIM_BACKUP_DIR)
-call s:set('undodir', $VIM_UNDO_DIR)
-
-if has('persistent_undo')
-  set undodir=./.vimundo,$VIM_UNDO_DIR
-  autocmd MyAutoCmd BufReadPre ~/* setlocal undofile
-endif
-
-" }}}
-
-" History  {{{
-
-" Command history
-set history=10000
-
-" }}}
-
-" Restore{{{
-
-" Restore last cursor position when open a file
-autocmd MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
-
-" }}}
-
-" }}}
-
-" Edit  {{{
-
-" Indent  {{{
-
-" Use Space instead of Tab to make indent
-set expandtab
-
-" TODO: Width of tab?
-" TODO: Ato de yoku shiraberu.
-set tabstop=2
-
-" Hoe many spaces to each indent level
-set shiftwidth=2
-
-" Automatically adjust indent
-set autoindent
-
-" Automatically indent when insert a new line
-set smartindent
-
-" Insert an indent when keydown <Tab> in indent spaces
-set smarttab
-
-" Symbols to use indent or other
-" NOTE: kakkoii unicode moji
-" - http://unicode-table.com/en/sections/dingbats/
-" - http://unicode-table.com/en/sections/spacing-modifier-letters/
-" 		test
-set listchars=tab:❯\ ,trail:˼,extends:»,precedes:«,nbsp:%
-
-" }}}
-
-" Movement  {{{
-" BS can delete newline or indent
-set backspace=indent,eol,start
-" Can move at eol, bol
-set whichwrap=b,s,h,l,<,>,[,]
-" }}}
-
-" Folding  {{{
-
-" Use marker to fold
-" e.g. {{{kanari_sugoi_code}}}
-" TODO: [Problem] When I input close marker which is "}" three times,
-"       the all foldings after that will be opened... Kanari fuben.
-set foldmethod=marker
-
-" Open folding when move in to one
-" set foldopen=all
-
-" Close folding when move out of one
-set foldclose=all
-
-" }}}
-
-" Search  {{{
-
-" incremental search
-set incsearch
-
-" Match words with ignore upper-lower case
-set ignorecase
-
-" Don't think upper-lower case until upper-case input
-set smartcase
-
-" Highlight searched words
-set hlsearch
-
-" }}}
-
-" Buffer Handling  {{{
-
-" Can change buffer in window no matter buffer is unsaved
-set hidden
-
-" }}}
-
-" Spelling  {{{
-
-" Enable spell checker for English words
-set spell spelllang=en_us
-
-" }}}
-
-" TODO: Input Method  {{{
-
-" TODO: Disable Japanese input mode when exit from the insert mode
-
-" }}}
-
-" Basic Key Mapping  {{{
-
-" [Emacs] Increment, Decrement by -, +
-" Because I want to use <C-x> for Emacs-like mapping
-" For test: [1, 6]
-nnoremap +  <C-a>
-nnoremap -  <C-x>
-
-" [Emacs] <C-x>k to close buffer completely
-" nnoremap <C-x>k  :bw<CR>
-nnoremap <C-x>k  :call BufferWipeoutInteractive()<CR>
-
-" [Emacs] <C-e> to end of line
-nnoremap <C-e>  $
-
-" [Emacs] <C-k> to delete a line
-nnoremap <C-k>  dd
-
-" Toggle 0 and ^
-nnoremap <expr>0  col('.') == 1 ? '^' : '0'
-nnoremap <expr>^  col('.') == 1 ? '^' : '0'
-
-" : without <Shift>
-nnoremap ;  :
-vnoremap ;  :
-
-" _ : Quick horizontal splits
-nnoremap _  :sp<CR>
-
-" | : Quick vertical splits
-nnoremap <bar>  :vsp<CR>
-
-" N: Find next occurrence backward
-nnoremap N  Nzzzv
-nnoremap n  nzzzv
-
-" Backspace: Act like normal backspace
-" TODO: Mac OS X doesn't have <BS>. have delete key.
-nnoremap <BS>  X
-
-" cmdwin
-nnoremap :  q:i
-
-" TODO: Move those settings to right section
-autocmd MyAutoCmd CmdwinEnter [:>] iunmap <buffer> <Tab>
-autocmd MyAutoCmd CmdwinEnter [:>] nunmap <buffer> <Tab>
-
-" JK peropero
-" Use logical move instead of physical ones
-nnoremap j gj
-nnoremap k gk
-
-" Easy to make selection to pars
-" TODO: u-n, iranai kamo...
-onoremap ) f)
-onoremap ( t(
-
-" Insert space in normal mode easily
-nnoremap <C-l>  i<Space><Esc><Right>
-nnoremap <C-h>  i<Space><Esc>
-
-" }}}
-
-" Filetype setting  {{{
-
-autocmd MyAutoCmd BufRead,BufNewFile *.md  setfiletype markdown
-
-" }}}
-
-" }}}
-
-" Plugins  {{{
-
-" Secret  {{{
-
-" This file contains only g:vimrc_secrets.
-if filereadable(expand('~/.secret_vimrc'))
-  let g:vimrc_secrets = {}
-  execute 'source' expand('~/.secret_vimrc')
-endif
-
-" }}}
-
-" Setup  {{{
-
-" To use NeoBundle, manually add to runtimepath
-if has('vim_starting')
-  set runtimepath+=$VIM_NEOBUNDLE_DIR
-  " To load my local development plugin
-  call neobundle#local(expand($VIM_LOCAL_BUNDLE_DIR), { 'resettable' : 0 })
-endif
-" To load remote plugin
-call neobundle#rc(expand($VIM_REMOTE_BUNDLE_DIR))
-
-" Let NeoBundle manage NeoBundle
-NeoBundleFetch 'Shougo/neobundle.vim'
-
-
-
-" }}}
-
-" List  {{{
-
-NeoBundle 'Shougo/vimproc.vim', { 'build' : {
-      \   'windows' : 'mingw32-make -f make_mingw32.mak',
-      \   'cygwin'  : 'make -f make_cygwin.mak',
-      \   'mac'     : 'make -f make_mac.mak',
-      \   'unix'    : 'make -f make_unix.mak',
-      \ }}
-NeoBundle 'vim-jp/vital.vim'
-NeoBundle 'bling/vim-airline'
-NeoBundle 'surround.vim'
-NeoBundle 'kana/vim-repeat'
-NeoBundle 'kana/vim-submode'
-NeoBundle 'kana/vim-textobj-user'
-NeoBundle 'kana/vim-textobj-entire', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'kana/vim-textobj-function', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'kana/vim-textobj-indent', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'rhysd/vim-textobj-ruby', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'osyo-manga/vim-textobj-multiblock', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'osyo-manga/vim-textobj-multitextobj', { 'depends' : 'kana/vim-textobj-user' }
-NeoBundle 'osyo-manga/vim-automatic', { 'depends' : [ 'osyo-manga/vim-gift', 'osyo-manga/vim-reunions' ] }
-NeoBundle 'osyo-manga/vim-reti', { 'depends' : [ 'osyo-manga/vim-chained' ] }
-NeoBundle 'osyo-manga/vim-anzu'
-NeoBundle 'jceb/vim-hier'
-NeoBundle 'LeafCage/foldCC'
-NeoBundle 'vim-jp/vimdoc-ja'
-NeoBundle 'tpope/vim-fugitive'
-NeoBundle 'gregsexton/gitv', { 'depends' : [ 'tpope/vim-fugitive' ] }
-NeoBundle 'tomtom/tcomment_vim'
-NeoBundle 'tpope/vim-rbenv'
-NeoBundle 'thinca/vim-scall'
-NeoBundle 'thinca/vim-singleton'
-NeoBundleLazy 'Shougo/unite.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
-NeoBundleLazy 'Shougo/vimshell.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
-NeoBundleLazy 'ujihisa/vimshell-ssh', { 'depends' : [ 'Shougo/vimshell.vim' ] }
-NeoBundleLazy 'Shougo/vimfiler.vim', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'Shougo/unite-ssh', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'Shougo/neosnippet.vim'
-NeoBundleLazy 'honza/vim-snippets'
-NeoBundleLazy 'matthewsimo/angular-vim-snippets'
-NeoBundleLazy 'Shougo/neocomplete.vim'
-NeoBundleLazy 'tsukkee/unite-help', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'Shougo/unite-outline', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'ujihisa/unite-colorscheme', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'ujihisa/unite-locate', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'osyo-manga/unite-quickfix', { 'depends' : [ 'Shougo/unite.vim' ] }
-NeoBundleLazy 'osyo-manga/vim-pronamachang', { 'depends' : [ 'osyo-manga/vim-sound', 'Shougo/vimproc.vim' ] }
-NeoBundleLazy 'osyo-manga/vim-sugarpot', { 'depends' : [ 'Shougo/vimproc.vim' ] }
-NeoBundleLazy 'h1mesuke/vim-alignta'
-NeoBundleLazy 'kana/vim-smartinput'
-NeoBundleLazy 'cohama/vim-smartinput-endwise', { 'depends' : [ 'kana/vim-smartinput' ] }
-NeoBundleLazy 'mattn/gist-vim', { 'depends' : [ 'mattn/webapi-vim' ] }
-NeoBundleLazy 'mattn/emmet-vim'
-NeoBundleLazy 'thinca/vim-prettyprint'
-NeoBundleLazy 'thinca/vim-quickrun'
-NeoBundleLazy 'thinca/vim-ref'
-NeoBundleLazy 'thinca/vim-qfreplace'
-NeoBundleLazy 'thinca/vim-editvar'
-NeoBundleLazy 'tyru/open-browser.vim'
-NeoBundleLazy 'yuratomo/w3m.vim'
-NeoBundleLazy 'rbtnn/vimconsole.vim'
-NeoBundleLazy 'groenewege/vim-less'
-NeoBundleLazy 'slim-template/vim-slim'
-NeoBundleLazy 'kchmck/vim-coffee-script'
-NeoBundleLazy 'dsawardekar/riml.vim'
-NeoBundleLazy 'LeafCage/vimhelpgenerator'
-
-" momonga's Kanari Sugoi Plugins
-NeoBundleLazy 'supermomonga/shaberu.vim', { 'depends' : [ 'Shougo/vimproc.vim' ] }
-NeoBundleLazy 'supermomonga/vimshell-pure.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
-NeoBundleLazy 'supermomonga/vimshell-inline-history.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
-NeoBundleLazy 'supermomonga/vimshell-wakeup.vim', { 'depends' : [ 'Shougo/vimshell.vim' ] }
-
-" Communication
-NeoBundleLazy 'basyura/J6uil.vim', { 'depends' : [ 'Shougo/vimproc.vim', 'mattn/webapi-vim' ] }
-NeoBundleLazy 'basyura/TweetVim', 'dev', { 'depends' : [
-      \   'tyru/open-browser.vim',
-      \   'basyura/twibill.vim',
-      \   'basyura/bitly.vim',
-      \   'Shougo/unite.vim',
-      \   'Shougo/unite-outline',
-      \   'Shougo/vimproc.vim',
-      \   'mattn/favstar-vim',
-      \   'mattn/webapi-vim'
-      \ ] }
-
-" Vim script
-NeoBundleLazy 'mopp/layoutplugin.vim'
-
-" Ruby
-NeoBundleLazy 'vim-ruby/vim-ruby'
-NeoBundleLazy 'taka84u9/vim-ref-ri', { 'depends' : [ 'Shougo/unite.vim', 'thinca/vim-ref' ] }
-NeoBundleLazy 'tpope/vim-rails'
-NeoBundleLazy 'basyura/unite-rails', { 'depends' : [ 'Shougo/unite.vim' ] }
-
-" Java
-NeoBundleLazy 'vim-scripts/javacomplete', {
-      \   'build': {
-      \     'cygwin': 'javac autoload/Reflection.java',
-      \     'mac': 'javac autoload/Reflection.java',
-      \     'unix': 'javac autoload/Reflection.java'
-      \   },
-      \ }
-
-" TODO: Windows build command to get .ctags
-NeoBundleLazy 'alpaca-tc/alpaca_tags', {
-      \   'depends' : [ 'Shougo/vimproc.vim' ],
-      \   'build' : {
-      \     'mac' : 'wget https://raw.github.com/alpaca-tc/alpaca_tags/master/.ctags -O ~/.ctags',
-      \     'unix' : 'wget https://raw.github.com/alpaca-tc/alpaca_tags/master/.ctags -O ~/.ctags',
-      \   }
-      \ }
-
-
-
-" TODO: atode settei simasu...
-" NeoBundleLazy 'tpope/vim-markdown'
-" NeoBundleLazy 'tsukkee/lingr-vim'
-
-
-" Disable some local bundles
-NeoBundleDisable vimshell-kawaii.vim
-NeoBundleDisable vimshell-scopedalias.vim
-NeoBundleDisable unite-vacount2012.vim
-NeoBundleDisable vimshell-suggest.vim
-
-
-" Required to use
-filetype plugin indent on
-
-" }}}
-
-" Plugin Configurations  {{{
-
-if neobundle#tap('vital.vim') " {{{
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:V = vital#of('vital')
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [
-        \       {
-        \         'name' : 'Unite',
-        \         'complete' : 'customlist,unite#complete_source'
-        \       },
-        \       'UniteWithCursorWord',
-        \       'UniteWithInput'
-        \     ]
-        \   }
-        \ })
-
-  function! s:unite_menu_map_func(key, value)
-    let [word, value] = a:value
-    if isdirectory(value)
-      return {
-            \   'word' : '[directory] ' . word,
-            \   'kind' : 'directory',
-            \   'action__directory' : value
-            \ }
-    elseif !empty(glob(value))
-      return {
-            \   'word' : '[file] ' . word,
-            \   'kind' : 'file',
-            \   'default_action' : 'tabdrop',
-            \   'action__path' : value,
-            \ }
-    else
-      return {
-            \   'word' : '[command] ' . word,
-            \   'kind' : 'command',
-            \   'action__command' : value
-            \ }
-    endif
-  endfunction
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-
-    " General
-    let g:unite_force_overwrite_statusline = 0
-    let g:unite_kind_jump_list_after_jump_scroll=0
-    let g:unite_enable_start_insert = 0
-    let g:unite_source_rec_min_cache_files = 1000
-    let g:unite_source_rec_max_cache_files = 5000
-    let g:unite_source_file_mru_long_limit = 100000
-    let g:unite_source_file_mru_limit = 100000
-    let g:unite_source_directory_mru_long_limit = 100000
-    let g:unite_prompt = '❯ '
-
-    " Unite-menu
-    let g:unite_source_menu_menus = get(g:, 'unite_source_menu_menus', {})
-    let g:unite_source_menu_menus.global = { 'description' : 'global shortcut' }
-    let g:unite_source_menu_menus.unite = { 'description' : 'unite shortcut' }
-    let g:unite_source_menu_menus.global.map = function('s:unite_menu_map_func')
-    let g:unite_source_menu_menus.unite.map = function('s:unite_menu_map_func')
-    let g:unite_source_menu_menus.global.candidates = [
-          \   [ '[edit] vimrc' , $MYVIMRC ],
-          \   [ '[edit] secret_vimrc' , expand('~/.secret_vimrc') ],
-          \   [ '[terminal] VimShell' , ':VimShell' ],
-          \   [ '[twitter] TweetVim' , ':Unite tweetvim' ],
-          \   [ '[lingr] J6uil' , ':J6uil' ],
-          \ ]
-    let g:unite_source_menu_menus.unite.candidates = [
-          \   [ 'neobundle/update' , ':Unite neobundle/update -log' ],
-          \   [ 'neobundle/install' , ':Unite neobundle/install -log' ],
-          \   [ 'J6uil/rooms' , ':Unite J6uil/rooms' ],
-          \   [ 'J6uil/members' , ':Unite J6uil/members' ],
-          \   [ 'TweetVim' , ':Unite tweetvim' ],
-          \   [ 'files', ':Unite -start-insert -buffer-name=files buffer_tab file file_mru'],
-          \   [ 'function', ':Unite -start-insert -default-action=edit function'],
-          \   [ 'variable', ':Unite -start-insert -default-action=edit variable'],
-          \   [ 'outline', ':Unite -start-insert outline'],
-          \   [ 'help', ':Unite -start-insert help'],
-          \   [ 'buffer', ':Unite -start-insert buffer'],
-          \   [ 'line', ':Unite -start-insert -auto-preview -buffer-name=search line'],
-          \   [ 'quickfix', ':Unite -no-split -no-quit -auto-preview quickfix'],
-          \   [ 'grep', ':Unite grep -no-quit'],
-          \   [ 'source', ':Unite -start-insert source'],
-          \   [ 'locate', ':Unite -start-insert locate'],
-          \   [ 'theme', ':Unite -auto-preview colorscheme'],
-          \ ]
-
-  endfunction
-
-  nnoremap <silent> <Space>u  :<C-u>Unite -start-insert menu:unite<CR>
-  nnoremap <silent> <Space>m  :<C-u>Unite -start-insert menu:global<CR>
-  nnoremap <silent> <Space>f  :<C-u>Unite -start-insert -buffer-name=files buffer_tab file_mru<CR>
-  nnoremap <silent> <Space>b  :<C-u>Unite -start-insert buffer<CR>
-  nnoremap <silent> <Space>s  :<C-u>Unite -start-insert -auto-preview -no-split -buffer-name=search line<CR>
-  nnoremap <silent> <Space>l  :<C-u>Unite -start-insert locate<CR>
-  nnoremap <silent> <Space>g  :<C-u>Unite grep -no-quit<CR>
-
-  " TODO: Should those mappings be moved to their own setting section?
-  " That seems collect but it provides better look of the Unite-source
-  " mappings list.
-  if neobundle#is_installed('unite-quickfix')
-    nnoremap <silent> <Space>q  :<C-u>Unite -no-quit -auto-preview -no-split quickfix<CR>
-  endif
-  if neobundle#is_installed('unite-help')
-    nnoremap <silent> <Space>o  :<C-u>Unite -start-insert -auto-preview
-          \ -no-split outline<CR>
-  endif
-  if neobundle#is_installed('unite-outline')
-    nnoremap <silent> <Space>h  :<C-u>Unite -start-insert help<CR>
-  endif
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimfiler.vim') " {{{
-  call neobundle#config({
-        \ 'autoload' : {
-        \   'commands' : [
-        \     { 'name' : 'VimFiler', 'complete' : 'customlist,vimfiler#complete' },
-        \     { 'name' : 'VimFilerExplorer', 'complete' : 'customlist,vimfiler#complete' },
-        \     { 'name' : 'Edit', 'complete' : 'customlist,vimfiler#complete' },
-        \     { 'name' : 'Write', 'complete' : 'customlist,vimfiler#complete' },
-        \     'Read',
-        \     'Source'
-        \   ],
-        \   'mappings' : '<Plug>(vimfiler_',
-        \   'explorer' : 1,
-        \ }
-        \ })
-
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:vimfiler_safe_mode_by_default = 0
-  let g:unite_kind_file_use_trashbox = 1
-  let g:vimfiler_as_default_explorer = 1
-  let g:vimfiler_as_default_explorer = 1
-
-  nnoremap <Space>e  :<C-u>VimFilerExplorer -winwidth=65<CR>
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-quickfix') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'quickfix',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-outline') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'outline',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-help') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'help',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-ssh') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'ssh',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-colorscheme') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'colorscheme',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-locate') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'locate',
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('shaberu.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'ShaberuSay', 'ShaberuMuteOn', 'ShaberuMuteOff', 'ShaberuMuteToggle' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:shaberu_user_define_say_command = 'say-openjtalk "%%TEXT%%"'
-
-  " Vim core
-  autocmd MyAutoCmd VimEnter * ShaberuSay 'ビムにようこそ'
-  autocmd MyAutoCmd VimLeave * ShaberuSay 'さようなら'
-
-  " VimShell
-  autocmd MyAutoCmd FileType vimshell
-        \ call vimshell#hook#add('chpwd' , 'my_vimshell_chpwd' , reti#lambda(":ShaberuSay 'よっこいしょ'"))
-        \| call vimshell#hook#add('emptycmd', 'my_vimshell_emptycmd', reti#lambda(":call shaberu#say('コマンドを入力してください') | return a:1"))
-        \| call vimshell#hook#add('notfound', 'my_vimshell_notfound', reti#lambda(":call shaberu#say('コマンドが見つかりません') | return a:1"))
-
-  " .vimrc保存時に自動的にsource
-  autocmd MyAutoCmd BufWritePost .vimrc nested source $MYVIMRC | ShaberuSay 'ビムアールシーを読み込みました'
-  " 開発用ディレクトリ内.vimファイルに関して、ファイル保存時に自動でsourceする
-  execute 'autocmd MyAutoCmd BufWritePost,FileWritePost' $VIM_LOCAL_BUNDLE_DIR . '*.vim' 'source <afile> | echo "sourced : " . bufname("%") | ShaberuSay "ソースしました"'
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimshell.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'VimShell', 'VimShellPop' ]
-        \   }
-        \ })
-
-  " function! neobundle#tapped.hooks.on_source(bundle)
-  "   let g:unite_source_vimshell_external_history_path = expand('~/.zsh_history')
-  " endfunction
-
-  nnoremap <C-x><C-v>  :<C-u>VimShellPop -toggle<CR>
-  inoremap <C-x><C-v>  :<C-u>VimShellPop -toggle<CR>
-  nnoremap <Space>vp  :<C-u>VimShellPop -toggle<CR>
-  nnoremap <Space>vb  :<C-u>VimShellBufferDir<CR>
-  nnoremap <Space>vd  :<C-u>VimShellCurrentDir<CR>
-  nnoremap <Space>vv  :<C-u>VimShell<CR>
-
-  " buffer local mapping
-  function! s:my_vimshell_mappings()
-    imap <buffer> <C-e>  <ESC>$a
-    imap <buffer> <C-d>  <ESC><Right>xa
-  endfunction
-  autocmd MyAutoCmd FileType vimshell call s:my_vimshell_mappings()
-
-  " Run VimShell when launch Vim
-  autocmd MyAutoCmd VimEnter * VimShell
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimshell-pure.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'on_source' : [ 'vimshell.vim' ]
-        \   }
-        \ })
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimshell-inline-history.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'on_source' : [ 'vimshell.vim' ]
-        \   }
-        \ })
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimshell-wakeup.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'on_source' : [ 'vimshell.vim' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:vimshell_wakeup_shaberu_text = 'おわだよ'
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-textobj-multiblock') " {{{
-
-  call neobundle#config({})
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:textobj_multiblock_blocks = [
-        \   ['(', ')', 1],
-        \   ['[', ']', 1],
-        \   ['{', '}', 1],
-        \   ['<', '>', 1],
-        \   ['"', '"', 1],
-        \   ["'", "'", 1],
-        \   ['`', '`', 1],
-        \   ['|', '|', 1],
-        \ ]
-
-        " Couldn't use multiple chars
-        " \   ['if', 'elsif'],
-        " \   ['if', 'else'],
-        " \   ['if', 'end'],
-        " \   ['elsif', 'end'],
-        " \   ['elsif', 'elsif'],
-        " \   ['elsif', 'else'],
-        " \   ['else', 'end'],
-        " \   ['do', 'end'],
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('neocomplete.vim') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'insert' : 1,
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  " Enable at startup
-  let g:neocomplete#enable_at_startup = 1
-
-  " Smartcase
-  let g:neocomplete#enable_smart_case = 1
-
-  " Enable _ separated completion
-  let g:neocomplete_enable_underbar_completion = 1
-
-  " Minimum length to cache
-  let g:neocomplete_min_syntax_length = 3
-
-  " Max size of candidates to show
-  let g:neocomplete#max_list = 1000
-
-  " How many length to need to start completion
-  let g:neocomplete_auto_completion_start_length = 2
-
-  " Auto select the first candidate
-  " let g:neocomplete_enable_auto_select = 1
-
-  " Force to overwrite complete func
-  let g:neocomplete_force_overwrite_completefunc = 1
-
-  " let g:neocomplete_enable_camel_case_completion = 1
-  let g:neocomplete#skip_auto_completion_time = '0.2'
-
-  " Cancel and close popup
-  " imap <expr><C-g> neocomplete#cancel_popup()
-
-  " Omni completion patterns
-  let g:neocomplete#force_omni_input_patterns = get(g:, 'neocomplete#force_omni_input_patterns', {})
-  let g:neocomplete#force_omni_input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
-
-  " Omni completion functions
-  let g:neocomplete#sources#omni#functions = get(g:, 'neocomplete#sources#omni#functions', {})
-  let g:neocomplete#sources#omni#functions.ruby = 'rubycomplete#Complete'
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('neosnippet.vim') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'insert' : 1,
-        \     'filetype' : 'snippet',
-        \     'commands' : [ 'NeoSnippetEdit', 'NeoSnippetSource' ],
-        \     'filetypes' : [ 'nsnippet' ],
-        \     'unite_sources' :
-        \       ['snippet', 'neosnippet/user', 'neosnippet/runtime']
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:neosnippet#enable_snipmate_compatibility = 1
-  " My original snippets
-  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
-        \   s:get_list(g:, 'neosnippet_snippets_directories'),
-        \   '~/.vim/snippets'
-        \ )
-  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
-  " <CR> to expand snippet if can
-  imap <expr><CR> !pumvisible() ? "\<CR>" :
-        \ neosnippet#expandable() ? "\<Plug>(neosnippet_expand)" :
-        \ neocomplete#close_popup()
-  " supertab.
-  imap <expr><TAB> pumvisible() ? "\<C-n>" :
-        \ neosnippet#jumpable() ? "\<Plug>(neosnippet_jump)" :
-        \ "\<TAB>"
-  smap <expr><TAB> pumvisible() ? "\<C-n>" :
-        \ neosnippet#jumpable() ? "\<Plug>(neosnippet_jump)" :
-        \ "\<TAB>"
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-snippets') " {{{
-
-  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
-        \   s:get_list(g:, 'neosnippet_snippets_directories'),
-        \   $VIM_REMOTE_BUNDLE_DIR . '/vim-snippets/snippets'
-        \ )
-  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('angular-vim-snippets') " {{{
-
-  let g:neosnippet_snippets_directories = s:add_to_uniq_list(
-        \   s:get_list(g:, 'neosnippet_snippets_directories'),
-        \   $VIM_REMOTE_BUNDLE_DIR . '/angular-vim-snippets/snippets'
-        \ )
-  let g:neosnippet#snippets_directory = join(g:neosnippet_snippets_directories, ',')
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-alignta') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : ['Alignta'],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('foldCC') " {{{
-
-  call neobundle#config({})
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  set foldmethod=marker
-  set foldtext=FoldCCtext()
-  set foldcolumn=0
-  set fillchars=vert:\|
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('tcomment_vim') " {{{
-
-  call neobundle#config({})
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-smartinput') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'insert' : 1
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    call smartinput#clear_rules()
-    call smartinput#define_default_rules()
-  endfunction
-
-  function! neobundle#tapped.hooks.on_post_source(bundle)
-    call smartinput_endwise#define_default_rules()
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-smartinput-endwise') " {{{
-
-
-  function! neobundle#tapped.hooks.on_post_source(bundle)
-    " neosnippet and neocomplete compatible
-    call smartinput#map_to_trigger('i', '<Plug>(my_cr)', '<Enter>', '<Enter>')
-    imap <expr><CR> !pumvisible() ? "\<Plug>(my_cr)" :
-          \ neosnippet#expandable() ? "\<Plug>(neosnippet_expand)" :
-          \ neocomplete#close_popup()
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-submode') " {{{
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:submode_keep_leaving_key = 1
-    " tab moving
-    call submode#enter_with('changetab', 'n', '', 'gt', 'gt')
-    call submode#enter_with('changetab', 'n', '', 'gT', 'gT')
-    call submode#map('changetab', 'n', '', 't', 'gt')
-    call submode#map('changetab', 'n', '', 'T', 'gT')
-    " undo/redo
-    call submode#enter_with('undo/redo', 'n', '', '<C-r>', '<C-r>')
-    call submode#enter_with('undo/redo', 'n', '', 'u', 'u')
-    call submode#map('undo/redo', 'n', '', '<C-r>', '<C-r>')
-    call submode#map('undo/redo', 'n', '', 'u', 'u')
-    " move between fold
-    call submode#enter_with('movefold', 'n', '', 'zj', 'zjzMzvzz')
-    call submode#enter_with('movefold', 'n', '', 'zk', 'zkzMzv[zzz')
-    call submode#map('movefold', 'n', '', 'j', 'zjzMzvzz')
-    call submode#map('movefold', 'n', '', 'k', 'zkzMzv[zzz')
-    " resize window
-    call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')
-    call submode#enter_with('winsize', 'n', '', '<C-w><', '<C-w><')
-    call submode#enter_with('winsize', 'n', '', '<C-w>+', '<C-w>+')
-    call submode#enter_with('winsize', 'n', '', '<C-w>-', '<C-w>-')
-    call submode#map('winsize', 'n', '', '>', '<C-w>>')
-    call submode#map('winsize', 'n', '', '<', '<C-w><')
-    call submode#map('winsize', 'n', '', '+', '<C-w>+')
-    call submode#map('winsize', 'n', '', '-', '<C-w>-')
-    " TODO: Repeat last executed macro
-    " call submode#enter_with('macro/a', 'n', '', '@a', '@a')
-    " call submode#map('macro/a', 'n', '', 'a', '@a')
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('open-browser.vim') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'OpenBrowser', 'OpenBrowserSearch', 'OpenBrowserSmartSearch' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-anzu') " {{{
-
-  call neobundle#config({})
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  " Treat folding well
-  nnoremap <expr> n anzu#mode#mapexpr('n', '', 'zzzv')
-  nnoremap <expr> N anzu#mode#mapexpr('N', '', 'zzzv')
-
-  " Start search with anzu
-  nmap * <Plug>(anzu-star-with-echo)
-  nmap # <Plug>(anzu-sharp-with-echo)
-
-  " clear status
-  " nmap <Esc><Esc> <Plug>(anzu-clear-search-status)
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-automatic') " {{{
-
-  call neobundle#config({})
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  nnoremap <silent> <Plug>(quit) :<C-u>q<CR>
-  function! s:my_temporary_window_init(config, context)
-    nmap <buffer> <C-[>  <Plug>(quit)
-    " echo a:config
-    " echo a:context
-  endfunction
-
-  let g:automatic_enable_autocmd_Futures = {}
-  let g:automatic_default_match_config = {
-        \   'is_open_other_window' : 1,
-        \ }
-  let g:automatic_default_set_config = {
-        \   'height' : '60%',
-        \   'move' : 'bottom',
-        \   'apply' : function('s:my_temporary_window_init')
-        \ }
-        " \   { 'match' : { 'bufname' : '^.unite' } },
-  let g:automatic_config = [
-        \   { 'match' : { 'buftype' : 'help' } },
-        \   { 'match' : { 'bufname' : '^.vimshell' } },
-        \   { 'match' : {
-        \      'autocmd_history_pattern' : 'BufWinEnterFileType$',
-        \      'filetype' : 'unite'
-        \     }
-        \   },
-        \   {
-        \     'match' : { 'bufname' : '^vimfiler' },
-        \     'set' : { 'unsettings' : [ 'resize' ], 'move' : 'left'}
-        \   },
-        \   {
-        \     'match' : {
-        \       'filetype' : 'tweetvim_say',
-        \       'autocmds' : [ 'FileType' ]
-        \     },
-        \     'set' : {
-        \       'height' : '8'
-        \     }
-        \   },
-        \   {
-        \     'match' : {
-        \       'filetype' : 'J6uil_say',
-        \       'autocmds' : [ 'FileType' ]
-        \     },
-        \     'set' : {
-        \       'height' : '8'
-        \     }
-        \   },
-        \   {
-        \     'match' : {
-        \       'filetype' : 'vimconsole',
-        \       'autocmds' : [ 'FileType' ]
-        \     }
-        \   },
-        \   {
-        \     'match' : {
-        \       'filetype' : '\v^ref-.+',
-        \       'autocmds' : [ 'FileType' ]
-        \     }
-        \   },
-        \   {
-        \     'match' : {
-        \       'bufname' : '\[quickrun output\]',
-        \     },
-        \     'set' : {
-        \       'height' : 8,
-        \     }
-        \   },
-        \   {
-        \     'match' : {
-        \       'autocmds' : [ 'CmdwinEnter' ]
-        \     },
-        \     'set' : {
-        \       'is_close_focus_out' : 1,
-        \       'unsettings' : [ 'move', 'resize' ]
-        \     },
-        \   }
-        \ ]
-  " let g:automatic_config = [
-  "       \   {
-  "       \    'set' : {
-  "       \    'commands' : ['PP! a:context']
-  "       \    },
-  "       \   },
-  "       \ ]
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('gist-vim') " {{{
-
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : ['Gist'],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    " let g:gist_browser_command = 'w3m %URL%'
-  endfunction
-
-  let g:gist_open_browser_after_post = 1
-  let g:gist_clip_command = 'pbcopy'
-  let g:gist_detect_filetype = 1
-  let g:gist_show_privates = 1
-  let g:gist_post_private = 1
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-prettyprint') " {{{
-  call neobundle#config({
-        \   'autoload' : { 'commands' : ['PP'] }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-quickrun') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'mappings' : [ '<Plug>(quickrun)' ],
-        \     'commands' : [ 'QuickRun' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:quickrun_config = get(g:, 'quickrun_config', {})
-  let g:quickrun_config.markdown = {
-        \ 'outputter' : 'null',
-        \ 'command'   : 'open',
-        \ 'cmdopt'    : '-a',
-        \ 'args'      : 'Marked',
-        \ 'exec'      : '%c %o %a %s',
-        \ }
-  let g:quickrun_config.matlab = {
-        \ 'command'   : 'octave',
-        \ 'cmdopt'    : '--silent --persist',
-        \ 'hook/cd'   : 1,
-        \ 'exec'      : '%c %o %s'
-        \ }
-
-  " Prompt sample:
-  " octave-3.2.3:2>
-  let g:quickrun_config.matlab = {
-        \ 'command'   : 'octave',
-        \ 'cmdopt'    : "--silent --persist --eval \"PS1(\\\">> \\\")\"",
-        \ 'hook/cd'   : 1,
-        \ 'runner'    : 'process_manager',
-        \ 'runner/process_manager/load' : '%S:t:r',
-        \ 'runner/process_manager/prompt': '>>\s',
-        \ }
-        " \ 'runner/process_manager/prompt': 'octave-[0-9\.]\+:\d\+>\s',
-        " \ 'runner/process_manager/prompt': '>>\s',
-        " \ 'cmdopt'    : "--silent --persist --eval \"PS1(''>> '')\"",
-        " \ 'runner/process_manager/prompt': 'octave-[0-9\.]\+:\d\+>\s',
-
-  let g:quickrun_config.ruby = {
-    \ 'command': 'irb',
-    \ 'cmdopt': '--simple-prompt',
-    \ 'hook/cd': 1,
-    \ 'runner': 'process_manager',
-    \ 'runner/process_manager/load': "load %s",
-    \ 'runner/process_manager/prompt': '>>\s',
-    \ }
-
-  nnoremap <Space>r  :<C-u>QuickRun<CR>
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-scall') " {{{
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-singleton') " {{{
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    call singleton#enable()
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-textobj-multiblock') " {{{
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    omap ab <Plug>(textobj-multiblock-a)
-    omap ib <Plug>(textobj-multiblock-i)
-    vmap ab <Plug>(textobj-multiblock-a)
-    vmap ib <Plug>(textobj-multiblock-i)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-ref') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [{
-        \       'name' : 'Ref',
-        \       'complete' : 'customlist,ref#complete'
-        \     }],
-        \     'unite_sources' : [ 'ref' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:ref_open = 'split'
-  let g:ref_refe_cmd = '~/.vim/ref/ruby-refm-1.9.3-dynamic-20120829/refe-1_9_3'
-
-  aug MyAutoCmd
-    au FileType ruby,eruby,ruby.rspec,haml nnoremap <silent><buffer><Space>d  :<C-u>Unite -no-start-insert ref/refe ref/ri -auto-preview -default-action=below -input=<C-R><C-W><CR>
-  aug END
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-ref-ri') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
-        \     'unite_sources' : [ 'ref/ri' ]
-        \   },
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-qfreplace') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'Qfreplace' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-editvar') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'Editvar' ],
-        \     'unite_sources' : [ 'variable' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-endwise') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'ruby' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    " TODO: endwise is not working well. need to implement with smartinput
-
-    " let g:endwise_no_mappings = 1
-    " if maparg('<Space>','i') =~# '<C-R>=.*crend(.)<Space>\|<\%(Plug\|SNR\|SID\)>.*End'
-    "   " Already mapped
-    " elseif maparg('<Space>','i') =~ '<Space>'
-    "   exe "imap <script> <C-X><Space> ".maparg('<Space>','i')."<SID>AlwaysEnd"
-    "   exe "imap <script> <Space>      ".maparg('<Space>','i')."<SID>DiscretionaryEnd"
-    " elseif maparg('<Space>','i') =~ '<Plug>delimitMateCR'
-    "   exe "imap <C-X><Space> ".maparg('<Space>', 'i')."<Plug>AlwaysEnd"
-    "   exe "imap <Space> ".maparg('<Space>', 'i')."<Plug>DiscretionaryEnd"
-    " else
-    "   imap <C-X><Space> <Space><Plug>AlwaysEnd
-    "   imap <Space>      <Space><Plug>DiscretionaryEnd
-    " endif
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-ruby') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'mappings' : [ '<Plug>(ref-keyword)' ],
-        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-rails') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    nnoremap <Space>cm  :<C-u>Rmodel<CR>
-    nnoremap <Space>cv  :<C-u>Rview<CR>
-    nnoremap <Space>cc  :<C-u>Rcontroller<CR>
-    nnoremap <Space>cl  :<C-u>Rlayout<CR>
-    nnoremap <Space>ch  :<C-u>Rhelper<CR>
-    nnoremap <Space>cj  :<C-u>Rjavascript<CR>
-    nnoremap <Space>cs  :<C-u>Rstylesheet<CR>
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('alpaca_tags') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'AlpacaTagsUpdate', 'AlpacaTagsSet', 'AlpacaTagsBundle' ]
-        \   }
-        \ })
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:alpaca_update_tags_config = {
-          \   '_' : '-R --sort=yes',
-          \   'js' : '--languages=+js',
-          \   '-js' : '--languages=-js,JavaScript',
-          \   'vim' : '--languages=+Vim,vim',
-          \   '-vim' : '--languages=-Vim,vim',
-          \   '-style': '--languages=-css,sass,scss,js,JavaScript,html',
-          \   'scss' : '--languages=+scss --languages=-css,sass',
-          \   'sass' : '--languages=+sass --languages=-css,scss',
-          \   'css' : '--languages=+css',
-          \   'java' : '--languages=+java $JAVA_HOME/src',
-          \   'ruby': '--languages=+Ruby',
-          \   'coffee': '--languages=+coffee',
-          \   '-coffee': '--languages=-coffee',
-          \   'bundle': '--languages=+Ruby --languages=-css,sass,scss,js,JavaScript,coffee',
-          \ }
-
-    aug AlpacaUpdateTags
-      au!
-      au FileWritePost,BufWritePost * AlpacaTagsUpdate -style
-      au FileWritePost,BufWritePost Gemfile AlpacaTagsUpdateBundle
-      au FileReadPost,BufEnter * AlpacaTagsSet
-    aug END
-  endfunction
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('unite-rails') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [
-        \       'rails/bundle', 'rails/bundled_gem', 'rails/config',
-        \       'rails/controller', 'rails/db', 'rails/destroy', 'rails/features',
-        \       'rails/gem', 'rails/gemfile', 'rails/generate', 'rails/git', 'rails/helper',
-        \       'rails/heroku', 'rails/initializer', 'rails/javascript', 'rails/lib', 'rails/log',
-        \       'rails/mailer', 'rails/model', 'rails/rake', 'rails/route', 'rails/schema', 'rails/spec',
-        \       'rails/stylesheet', 'rails/view'
-        \     ],
-        \     'filetypes' : [ 'ruby', 'haml', 'eruby' ],
-        \   }
-        \ })
-
-  function! s:my.unite_rails_init()
-    let g:UniteRailsAll = reti#lambda(':Unite -start-insert rails/model rails/controller rails/view rails/db rails/config rails/javascript rails/stylesheet rails/helper rails/mailer')
-    nnoremap <C-x>r  :<C-u>call g:UniteRailsAll()<CR>
-    nnoremap <C-x>m  :<C-u>Unite -start-insert rails/model<CR>
-    nnoremap <C-x>c  :<C-u>Unite -start-insert rails/controller<CR>
-    nnoremap <C-x>v  :<C-u>Unite -start-insert rails/view<CR>
-    nnoremap <C-x>f  :<C-u>Unite -start-insert rails/config<CR>
-    nnoremap <C-x>j  :<C-u>Unite -start-insert rails/javascript<CR>
-    nnoremap <C-x>s  :<C-u>Unite -start-insert rails/stylesheet<CR>
-    nnoremap <C-x>d  :<C-u>Unite -start-insert rails/db<CR>
-    nnoremap <C-x>l  :<C-u>Unite -start-insert rails/lib<CR>
-    nnoremap <C-x>h  :<C-u>Unite -start-insert rails/helper<CR>
-  endfunction
-
-  aug MyAutoCmd
-    au User Rails call g:My.unite_rails_init()
-  aug END
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-airline') " {{{
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  " let g:airline_left_sep  = '◤ '
-  " let g:airline_right_sep = ' ◥'
-  let g:airline_left_sep  = ''
-  let g:airline_right_sep = ''
-  " let g:airline_left_sep  = ''
-  " let g:airline_right_sep = ''
-  let g:airline_detect_iminsert = 1
-  let g:airline_theme = 'dark'
-
-  " Enable fugitive
-  let g:airline_enable_branch = 1
-  let g:airline_branch_empty_message = ''
-
-  " To show airline status on single window.
-  set laststatus=2
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-pronamachang') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'unite_sources' : [ 'pronamachang' ],
-        \     'commands' : [ 'PronamachangSay' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:pronamachang_voice_root = '~/.pronamachang'
-  endfunction
-
-  " let g:pronamachang_say_startup_enable = 1
-  " let g:pronamachang_say_goodbye_enable = 1
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-sugarpot') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'SugarpotPreview' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    let g:sugarpot_font = 'セプテンバーＭ-等幅:h1'
-    let g:sugarpot_xpm_cache_directory = '~/.sugarpot'
-    let g:sugarpot_convert = 'convert'
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('w3m.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [
-        \       'W3m',
-        \       'W3mTab',
-        \       'W3mSplit',
-        \       'W3mVSplit',
-        \       'W3mClose',
-        \       'W3mCopyUrl',
-        \       'W3mReload',
-        \       'W3mAddressBar',
-        \       'W3mShowExternal',
-        \       'W3mSyntaxOff',
-        \       'W3mSyntaxOn',
-        \       'W3mSetUserAgent',
-        \       'W3mHistory',
-        \       'W3mHistoryClear'
-        \     ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    highlight! link w3mLink      Function
-    highlight! link w3mLinkHover SpecialKey
-    highlight! link w3mSubmit    Special
-    highlight! link w3mInput     String
-    highlight! link w3mBold      Comment
-    highlight! link w3mUnderline Underlined
-    highlight! link w3mHitAHint  Question
-    highlight! link w3mAnchor    Label
-  endfunction
-
-  let g:w3m#hit_a_hint_key = 'f'
-  let g:w3m#lang = 'ja_JP'
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('TweetVim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [
-        \       'TweetVimVersion',
-        \       'TweetVimAddAccount',
-        \       'TweetVimSwitchAccount',
-        \       'TweetVimHomeTimeline',
-        \       'TweetVimMentions',
-        \       'TweetVimListStatuses',
-        \       'TweetVimUserTimeline',
-        \       'TweetVimSay',
-        \       'TweetVimUserStream',
-        \       'TweetVimCommandSay',
-        \       'TweetVimCurrentLineSay',
-        \       'TweetVimSearch'
-        \     ],
-        \     'unite_sources' : [ 'tweetvim/account', 'tweetvim' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-
-  endfunction
-
-  function! s:my_tweetvim_mappings()
-    nmap <buffer> j  <Plug>(tweetvim_action_cursor_down)
-    nmap <buffer> k  <Plug>(tweetvim_action_cursor_up)
-    nmap <buffer> f  <Plug>(tweetvim_action_favorite)
-    nmap <buffer> m  <Plug>(tweetvim_action_reply)
-    nmap <buffer> i  <Plug>(tweetvim_action_in_reply_to)
-    nmap <buffer> r  <Plug>(tweetvim_action_retweet)
-    nmap <buffer> q  <Plug>(tweetvim_action_qt)
-    nmap <buffer> gg  <Plug>(tweetvim_action_reload)
-    nmap <buffer> u  <Plug>(tweetvim_action_user_timeline)
-    nnoremap <buffer> s  :<C-u>TweetVimSay<CR>
-    nmap <buffer> <CR>  <Plug>(tweetvim_action_enter)
-    nmap <buffer> <C-h>  <Plug>(tweetvim_action_page_previous)
-    nmap <buffer> <C-l>  <Plug>(tweetvim_action_page_next)
-    nnoremap <buffer> <Space>cu  :<C-u>Unite tweetvim<CR>
-  endfunction
-  function! s:my_tweetvim_say_mappings()
-    nmap <buffer> <silent> <C-s>       <Plug>(tweetvim_say_show_history)
-    imap <buffer> <silent> <C-s>  <ESC><Plug>(tweetvim_say_show_history)
-    nmap <buffer> <silent> <CR>        <Plug>(tweetvim_say_post_buffer)
-    imap <buffer> <silent> <C-CR> <ESC><Plug>(tweetvim_say_post_buffer)
-  endfunction
-  autocmd MyAutoCmd FileType tweetvim call s:my_tweetvim_mappings()
-  autocmd MyAutoCmd FileType tweetvim_say call s:my_tweetvim_say_mappings()
-
-  let g:tweetvim_display_icon = 1
-  let g:tweetvim_display_source = 1
-  let g:tweetvim_no_default_key_mappings = 1
-  let g:tweetvim_display_username = 1
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('J6uil.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'J6uil' ],
-        \     'unite_sources' : [ 'J6uil/members', 'J6uil/rooms' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  augroup MyAutoCmd
-    autocmd FileType J6uil call s:J6uil_settings()
-  augroup END
-
-  function! s:J6uil_settings()
-    nmap <silent> <buffer> <C-c><C-r>  <Plug>(J6uil_unite_rooms)
-    nmap <silent> <buffer> <C-c><C-m>  <Plug>(J6uil_unite_members)
-    nmap <silent> <buffer> <Space>cr  <Plug>(J6uil_unite_rooms)
-    nmap <silent> <buffer> <Space>cm  <Plug>(J6uil_unite_members)
-    nmap <silent> <buffer> <C-l>  <Plug>(J6uil_next_room)
-    nmap <silent> <buffer> <C-h>  <Plug>(J6uil_prev_room)
-  endfunction
-
-  let g:J6uil_user     = g:vimrc_secrets['J6uil_user']
-  let g:J6uil_password = g:vimrc_secrets['J6uil_password']
-  let g:J6uil_multi_window = 1
-  let g:J6uil_user_define_rooms = [
-        \   'clojure',
-        \   'computer_science',
-        \   'momonga',
-        \   'vim',
-        \   'mtroom',
-        \   'mcujm',
-        \   'imascg',
-        \   'monetize',
-        \   'emacs',
-        \   'meat',
-        \   'clojure_ja',
-        \   'lingr'
-        \ ]
-
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimconsole.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [
-        \       'VimConsole', 'VimConsoleLog', 'VimConsoleWarn', 'VimConsoleError',
-        \       'VimConsoleOpen', 'VimConsoleClose', 'VimConsoleToggle', 'VimConsoleClear',
-        \       'VimConsoleRedraw', 'VimConsoleDump'
-        \     ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:vimconsole#auto_redraw = 1
-
-  nnoremap <Space>c  :<C-u>VimConsoleToggle<CR>
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('emmet-vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'html', 'php', 'erb' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  let g:user_emmet_leader_key = '<C-c>'
-  let g:user_emmet_settings = {
-        \   'lang' : 'ja',
-        \   'html' : {
-        \     'filters' : 'html',
-        \     'indentation' : '  '
-        \   },
-        \   'css' : {
-        \     'filters' : 'fc',
-        \   },
-        \   'javascript' : {
-        \     'snippets' : {
-        \       'jq' : "$(function() {\n\t${cursor}${child}\n});",
-        \       'jq:each' : "$.each(arr, function(index, item)\n\t${child}\n});",
-        \       'fn' : "(function() {\n\t${cursor}\n})();",
-        \       'tm' : "setTimeout(function() {\n\t${cursor}\n}, 100);",
-        \     },
-        \   }
-        \ }
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-less') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'less', 'html', 'haml' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('riml.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'riml' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-slim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'slim' ],
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vim-coffee-script') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'filetypes' : [ 'coffee', 'html', 'haml' ],
-        \     'commands' : [ 'CoffeeCompile', 'CoffeeWatch', 'CoffeeRun', 'CoffeeLint' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-    augroup CoffeeBufNew
-      autocmd!
-      autocmd User * set wrap
-    augroup END
-
-    augroup CoffeeBufUpdate
-      autocmd!
-      autocmd User CoffeeCompile,CoffeeWatch
-    augroup END
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('layoutplugin.vim') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'LayoutPlugin' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-if neobundle#tap('vimhelpgenerator') " {{{
-  call neobundle#config({
-        \   'autoload' : {
-        \     'commands' : [ 'LayoutPlugin', 'VimHelpGenerator', 'VimHelpGeneratorVirtual', 'HelpIntoMarkdown' ]
-        \   }
-        \ })
-
-  function! neobundle#tapped.hooks.on_source(bundle)
-      let g:vimhelpgenerator_version = 'Version : 1.0.0'
-      let g:vimhelpgenerator_author = 'supermomonga (@supermomonga)'
-      let g:vimhelpgenerator_uri = 'https://github.com/supermomonga/'
-      let g:vimhelpgenerator_defaultlanguage = 'en'
-  endfunction
-
-  call neobundle#untap()
-endif " }}}
-
-" }}}
-
-" }}}
-
diff --git a/vim/.vimrc_old b/vim/.vimrc_old
deleted file mode 100755
index 243c356..0000000
--- a/vim/.vimrc_old
+++ /dev/null
@@ -1,2516 +0,0 @@
-"{{{ ========== Basics ================================================================
-set nocompatible
-scriptencoding utf-8
-"scriptencodingと、このファイルのエンコーディングが一致するよう注意！
-
-"----------------------------------------
-" ユーザーランタイムパス設定
-"----------------------------------------
-"Windows, unixでのruntimepathの違いを吸収するためのもの。
-"$MY_VIMRUNTIMEはユーザーランタイムディレクトリを示す。
-":echo $MY_VIMRUNTIMEで実際のパスを確認できます。
-if isdirectory($HOME . '/.vim')
-  let $MY_VIMRUNTIME = $HOME.'/.vim'
-elseif isdirectory($HOME . '\vimfiles')
-  let $MY_VIMRUNTIME = $HOME.'\vimfiles'
-elseif isdirectory($VIM . '\vimfiles')
-  let $MY_VIMRUNTIME = $VIM.'\vimfiles'
-endif
-
-let s:is_windows = has('win16') || has('win32') || has('win64')
-let s:is_cygwin = has('win32unix')
-let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
-let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin
-
-let s:config_root = $MY_VIMRUNTIME
-let s:bundle_root = s:config_root . '/bundle'
-
-" release autogroup in MyAutoCmd
-augroup MyAutoCmd
-  autocmd!
-augroup END
-"===================================================================================}}}
-
-"{{{ ========== Plugins ===============================================================
-"----------------------------------------
-"" プラグイン読み込み
-"----------------------------------------
-"" neobundle.vim
-set nocompatible
-
-if has('vim_starting')
-  "set runtimepath+=~/.bundle/neobundle.vim_c03600f
-  set runtimepath+=~/.bundle/neobundle.vim
-  call neobundle#rc(expand('~/.bundle'))
-endif
-
-" Let NeoBundle manage NeoBundle
-"NeoBundleFetch 'Shougo/neobundle.vim', 'c03600f'
-NeoBundleFetch 'Shougo/neobundle.vim'
-" Build repos.
-NeoBundle 'Shougo/vimproc', {
-      \ 'build': {
-      \     'windows': 'echo "Sorry, cannot update vimproc binary file in Windows."',
-      \     'cygwin' : 'make -f make_cygwin.mak',
-      \     'mac'    : 'make -f make_mac.mak',
-      \     'unix'   : 'make -f make_unix.mak'
-      \    }
-      \ }
-NeoBundle 'thinca/vim-submode'
-NeoBundle 'Colour-Sampler-Pack', {
-      \   'autoload': {'unite_sources': ['colorscheme']}
-      \ }
-NeoBundle 'itchyny/lightline.vim'
-if ! s:is_windows
-  NeoBundle 'airblade/vim-gitgutter'
-endif
-NeoBundle 'itchyny/landscape.vim'
-NeoBundle 'nanotech/jellybeans.vim'
-NeoBundle 'w0ng/vim-hybrid'
-NeoBundle 'cocopon/lightline-hybrid.vim'
-NeoBundle 'vim-scripts/twilight'
-NeoBundle 'jonathanfilip/vim-lucius'
-NeoBundle 'jpo/vim-railscasts-theme'
-NeoBundle 'altercation/vim-colors-solarized'
-NeoBundle 'vim-scripts/Wombat'
-NeoBundle 'tomasr/molokai'
-NeoBundle 'vim-scripts/rdark'
-NeoBundle 'banyan/recognize_charcode.vim'
-"NeoBundle 'vim-scripts/restore_view.vim'
-NeoBundle 'jceb/vim-hier'
-NeoBundle 'yonchu/accelerated-smooth-scroll'
-NeoBundle 'mattn/sonictemplate-vim'
-NeoBundle 'nathanaelkane/vim-indent-guides.git'
-"NeoBundle 'YankRing.vim'
-NeoBundle 'tpope/vim-surround'
-NeoBundle 'goldfeld/vim-seek'
-NeoBundle 'osyo-manga/vim-anzu'
-NeoBundle 'mattn/webapi-vim.git'
-NeoBundle 'The-NERD-Commenter'
-NeoBundle 'fuenor/qfixgrep'
-NeoBundle 'fuenor/qfixhowm'
-NeoBundle 'CmdlineCompl.vim'
-NeoBundle 'LeafCage/yankround.vim', {
-            \   'depends': ['kien/ctrlp.vim']
-            \ }
-NeoBundle 'pekepeke/titanium-vim'
-NeoBundle 'osyo-manga/vim-automatic', {
-            \     'depends': ['osyo-manga/vim-gift.git']
-            \ }
-NeoBundle 'szw/vim-tags', {
-      \   'build': {'mac': 'brew install ctags'}
-      \ }
-NeoBundle 'vim-scripts/errormarker.vim.git'
-" textobj のベース
-NeoBundle "kana/vim-textobj-user"
-" バッファ全体
-" ae, ie
-NeoBundle "kana/vim-textobj-entire"
-" カーソル行
-" al, il
-NeoBundle "kana/vim-textobj-line"
-" 関数内
-" af, if
-NeoBundle "kana/vim-textobj-function"
-" シンタックス
-" ay, iy
-NeoBundle "kana/vim-textobj-syntax"
-" 「foo」 or 【bar】など
-" ajb, ijb
-NeoBundle "kana/vim-textobj-jabraces"
-" 最後に検索されたパターン
-" a/, i/
-NeoBundle "kana/vim-textobj-lastpat"
-" カーソル位置と同じインデント
-" al, il
-NeoBundle "kana/vim-textobj-indent"
-" fold
-" az, iz
-NeoBundle "kana/vim-textobj-fold"
-" diff(1)
-" adf, idf
-NeoBundle "kana/vim-textobj-syntax"
-" 日付と時刻
-" ada, ida
-NeoBundle "kana/vim-textobj-datetime"
-" アンダースコアの間
-" _
-NeoBundle "kana/vim-textobj-syntax"
-" django_template
-" adb, idb
-NeoBundle "kana/vim-textobj-django-template"
-" 任意の区切り文字
-" af, if
-NeoBundle "thinca/vim-textobj-between"
-" コメント
-" ac, ic
-NeoBundle "thinca/vim-textobj-comment"
-" JavaScript の関数内
-" af, if
-NeoBundle "thinca/vim-textobj-function-javascript"
-" Perl の関数内
-" af, if
-NeoBundle "thinca/vim-textobj-function-perl"
-" 直前に変更またはヤンクされたテキスト
-" ip
-NeoBundle "gilligan/textobj-lastpaste"
-" ASCII文字とマルチバイト文字の境界を区切り
-" am, im
-NeoBundle "deton/textobj-mbboundary.vim"
-" XML の属性
-" axa, ixa
-NeoBundle "akiyan/vim-textobj-xml-attribute"
-" phpタグに囲まれた部分
-" aP, iP
-NeoBundle "akiyan/vim-textobj-php"
-" 連続したスペース
-" aS, iS
-NeoBundle "saihoooooooo/vim-textobj-space"
-" URL
-" au, iu
-NeoBundle "mattn/vim-textobj-url"
-" snake_case 上の word
-" a,w, i,w
-NeoBundle "h1mesuke/textobj-wiw"
-" テキストオブジェクトとして最後に挿入された範囲
-" au, iu
-NeoBundle "rhysd/vim-textobj-lastinserted"
-" 行継続を用いている行
-" av, iv
-NeoBundle "rhysd/vim-textobj-continuous-line"
-" Ruby のブロック
-" arr, brr
-NeoBundle "rhysd/vim-textobj-ruby"
-" x() や x<> など
-" axb, ixb
-NeoBundle "https://bitbucket.org/anyakichi/vim-textobj-xbrackets"
-" 任意の2つの motion の間
-" am, im
-NeoBundle "hchbaw/textobj-motionmotion.vim"
-" Perl や Ruby の正規表現
-" aq, iq
-NeoBundle "deris/vim-textobj-enclosedsyntax"
-" 行の先頭の word
-" ah, ih
-NeoBundle "deris/vim-textobj-headwordofline"
-" LaTeX
-" ae, ie
-NeoBundle "rbonvall/vim-textobj-latex"
-" 関数の引数
-" a, i,
-NeoBundle "sgur/vim-textobj-parameter"
-" 前後のスペースを取り除いたカーソル行
-" ac, ic
-NeoBundle "mattn/vim-textobj-cell"
-" 別の filetype のコンテキスト
-" icx
-NeoBundle "osyo-manga/vim-textobj-context"
-" 任意の複数の括弧のいずれか
-" asb, isb
-NeoBundle "osyo-manga/vim-textobj-multiblock"
-" インデントの空白行
-" ao, io
-NeoBundle "glts/vim-textobj-indblock"
-" ダッシュ記号の間
-" a-, i-
-NeoBundle "RyanMcG/vim-textobj-dash"
-" Python
-" af, if
-NeoBundle "bps/vim-textobj-python"
-" #ifdef
-" a#, i#
-NeoBundle "anyakichi/vim-textobj-ifdef"
-" HTML
-" ahf, ihf
-NeoBundle "mjbrownie/html-textobjects"
-" ハッシュの key と value
-" dak, dik,  dav, div
-NeoBundle "vimtaku/vim-textobj-keyvalue"
-
-NeoBundleLazy 'tpope/vim-fugitive.git'
-NeoBundleLazy 'thinca/vim-quickrun.git', {
-            \   'depends': ['Shougo/vimproc', 'Shougo/unite.vim.git', 'osyo-manga/unite-quickfix',
-            \               'osyo-manga/shabadou.vim', 'jceb/vim-hier']
-            \ }
-if s:is_darwin
-  NeoBundleLazy 'modsound/macdict-vim.git', {
-        \   'autoload': {'commands': ['MacDict', 'MacDictCWord', 'MacDictEnglish',
-        \                             'MacDictThesaurus', 'MacDictClose']}
-        \ }
-  NeoBundleLazy 'itchyny/dictionary.vim', {
-        \   'autoload': {'commands': 'Dictionary'}
-        \ }
-endif
-NeoBundleLazy 'cocopon/colorswatch.vim', {
-      \   'autoload': {'commands': 'ColorSwatchGenerate'}
-      \ }
-NeoBundleLazy 'Lokaltog/vim-powerline.git'
-NeoBundleLazy 'thinca/vim-splash'
-NeoBundleLazy "bling/vim-airline", {
-      \   'depends': ['osyo-manga/unite-airline_themes']
-      \ }
-NeoBundleLazy 'tpope/vim-fireplace', {
-            \   'depends': ['tpope/vim-classpath.git', 'guns/vim-clojure-static.git'],
-            \   'autoload' : {
-            \       'filetypes': 'clojure'
-            \ }}
-NeoBundleLazy 'scrooloose/syntastic.git', {
-      \ 'build': {
-      \   'mac': ['pip install pyflake', 'npm -g install coffeelint'],
-      \   'unix': ['pip install pyflake', 'npm -g install coffeelint']
-      \ }}
-NeoBundleLazy 'Shougo/neocomplcache-clang'
-NeoBundleLazy 'Shougo/neocomplcache-clang_complete'
-NeoBundleLazy 'Dotnet-Dictionaries'
-NeoBundleLazy 'DrawIt'
-NeoBundleLazy 'thinca/vim-template'
-NeoBundleLazy 'Shougo/echodoc.git'
-NeoBundleLazy 'Shougo/vim-vcs.git'
-NeoBundleLazy 'Shougo/vinarise.git'
-NeoBundleLazy 'The-NERD-tree'
-NeoBundleLazy 'thinca/vim-singleton.git'
-NeoBundleLazy 'LeafCage/nebula.vim'
-NeoBundleLazy 'osyo-manga/vim-over', {
-            \   'commands': ['OverCommandLine']
-            \ }
-NeoBundleLazy 'PProvost/vim-ps1', {
-      \   'autoload' : {'filetypes': ['ps1']}
-      \ }
-NeoBundleLazy 'osyo-manga/vim-watchdogs', {
-      \   'autoload': {'insert': 1}
-      \ }
-NeoBundleLazy 'derekwyatt/vim-scala.git', {
-      \   'autoload': {'filetypes': 'scala'},
-      \   'build': {'mac': 'brew install scala sbt'}
-      \ }
-NeoBundleLazy 'Shougo/junkfile.vim', {
-      \   'autoload': {
-      \       'commands': 'JunkfileOpen',
-      \       'unite_sources': ['junkfile', 'junkfile/new']
-      \ }}
-NeoBundleLazy 'rking/ag.vim', {
-      \   'autoload': {
-      \       'commands': ['Ag'],
-      \       'unite_sources': ['grep']
-      \ }}
-NeoBundleLazy 'mattn/excitetranslate-vim', {
-      \   'autoload': {'commands': ['ExciteTranslate']}
-      \ }
-NeoBundleLazy 'wesleyche/SrcExpl.git', {
-      \   'autoload': {'commands': ['SrcExplToggle']}
-      \ }
-NeoBundleLazy 'majutsushi/tagbar', {
-      \   'autoload': {'commands': ['TagbarToggle']},
-      \   'build': {'mac': 'brew install ctags'}
-      \ }
-NeoBundleLazy 'Align', {
-      \   'autoload': {'commands': ['Align']}
-      \ }
-"NeoBundleLazy 'h1mesuke/vim-alignta.git', {
-"\   'autoload': {'commands': ['Align']}
-"\ }
-NeoBundleLazy 'mattn/vimplenote-vim', {
-      \   'autoload': {'commands': ['VimpleNote']}
-      \ }
-NeoBundleLazy 'kien/ctrlp.vim', {
-      \   'autoload': {
-      \       'mappings': ['CtrlP'],
-      \       'commands': ['CtrlP']
-      \   }
-      \ }
-if has('lua') && ((v:version >= 703 && has('patch885')) || v:version >= 704)
-  NeoBundleLazy 'Shougo/neocomplete.vim'
-else
-  NeoBundleLazy 'Shougo/neocomplcache.vim'
-endif
-NeoBundleLazy 'Shougo/neosnippet.vim'
-NeoBundleLazy 'PProvost/vim-ps1', {
-      \   'autoload': {
-      \       'filetypes': ['ps1']
-      \ }}
-NeoBundleLazy 'tpope/vim-rails', {
-      \   'autoload': {
-      \       'filetypes': ['haml', 'ruby', 'eruby']
-      \ }}
-NeoBundleLazy 'basyura/unite-rails', {
-      \   'depends': 'Shougo/unite.vim',
-      \   'autoload': {
-      \       'unite_sources': [
-      \           'rails/bundle', 'rails/bundled_gem', 'rails/config',
-      \           'rails/controller', 'rails/db', 'rails/destroy', 'rails/features',
-      \           'rails/gem', 'rails/gemfile', 'rails/generate', 'rails/git', 'rails/helper',
-      \           'rails/heroku', 'rails/initializer', 'rails/javascript',
-      \           'rails/lib', 'rails/log', 'rails/mailer', 'rails/model', 'rails/rake',
-      \           'rails/route', 'rails/schema', 'rails/spec', 'rails/stylesheet',
-      \           'rails/view'
-      \       ]
-      \ }}
-NeoBundleLazy 'alpaca-tc/neorspec.vim', {
-      \   'depends': ['alpaca-tc/vim-rails', 'tpope/vim-dispatch'],
-      \   'autoload': {'commands': ['RSpec', 'RSpecAll', 'RSpecCurrent', 'RSpecNearest',
-      \                             'RSpecRetry']}
-      \ }
-NeoBundleLazy 'alpaca-tc/alpaca_tags', {
-      \   'depends': 'Shougo/vimproc',
-      \   'autoload': {'commands': ['TagsUpdate', 'TagsSet', 'TagsBundle']}
-      \ }
-NeoBundleLazy 'tsukkee/unite-tag', {
-      \   'depends': ['Shougo/unite.vim'],
-      \   'autoload': {'unite_sources': ['tag', 'tag/file', 'tag/include']}
-      \ }
-NeoBundleLazy 'tpope/vim-endwise', {
-      \   'autoload': {'insert': 1}
-      \ }
-NeoBundleLazy 'vim-ruby/vim-ruby', {
-      \   'autoload': {'filetypes': ['ruby', 'eruby']}
-      \ }
-NeoBundleLazy 'edsono/vim-matchit', {
-      \   'autoload': {
-      \       'filetypes': ['ruby','eruby'],
-      \       'mappings': ['%']
-      \ }}
-NeoBundleLazy 'Shougo/unite.vim', {'depends': ['Shougo/vimproc']}
-NeoBundleLazy 'h1mesuke/unite-outline', {
-      \   'autoload': {'unite_sources': ['outline']}
-      \ }
-NeoBundleLazy 'Shougo/vimfiler', {'depends': ['Shougo/unite.vim']}
-NeoBundleLazy 'Shougo/vimshell.vim', {'depends': ['Shougo/vimproc']}
-NeoBundleLazy 'supermomonga/vimshell-pure.vim', {'depends' : ['Shougo/vimshell.vim']}
-NeoBundleLazy 't9md/vim-quickhl.git', {
-      \   'autoload': {'mappings': ['<Plug>(quickhl-toggle)']}
-      \ }
-NeoBundleLazy 'gregsexton/gitv', {
-      \   'depends': ['tpope/vim-fugitive'],
-      \   'autoload': {'commands': ['Gitv']}
-      \ }
-NeoBundleLazy 'vim-scripts/TaskList.vim', {
-      \ 'autoload': {'mappings': ['<Plug>TaskList']}
-      \ }
-NeoBundleLazy 'tsukkee/unite-help.git', {
-      \   'autoload': {'unite_sources': ['help']}
-      \ }
-NeoBundleLazy 'tyru/open-browser.vim.git'
-NeoBundleLazy 'glidenote/octoeditor.vim', {
-      \   'autoload': {'commands': ['OctopressNew', 'OctopressList', 'OctopressGrep',
-      \                             'OctopressGenerate', 'OctopressDeploy']}
-      \ }
-NeoBundleLazy 'MultipleSearch', {
-      \   'autoload': {'commands': ['Search', 'SearchBuffers']}
-      \ }
-NeoBundleLazy 'zhisheng/visualmark.vim', {
-      \   'autoload': {'mappings': ['<Plug>Vm_toggle_sign', '<Plug>Vm_goto_next_sign']}
-      \ }
-NeoBundleLazy 'adogear/vim-blockdiag-series', {
-      \   'autoload': {'filetypes': 'rst'}
-      \ }
-NeoBundleLazy 'SQLUtilities', {
-      \ 'autoload': {'filetypes': 'sql'}
-      \ }
-NeoBundleLazy 'VB.NET-Indent', {
-      \   'autoload': {'filetypes': 'vb'}
-      \ }
-NeoBundleLazy 'VB.NET-Syntax', {
-      \   'autoload': {'filetypes': 'vb'}
-      \ }
-NeoBundleLazy 'choplin/unite-vim_hacks.git', {
-      \   'autoload': {'unite_sources': ['vim_hacks']}
-      \ }
-NeoBundleLazy 'https://bitbucket.org/anyakichi/vim-histsearch'
-NeoBundleLazy 'mattn/gist-vim', {
-      \   'depends': ['mattn/webapi-vim'],
-      \   'autoload': {'commands': ['Gist']}
-      \ }
-NeoBundleLazy 'drakontia/sphinx.vim', {
-      \   'autoload': {'filetypes': 'rst'}
-      \ }
-NeoBundleLazy 'mattn/unite-advent_calendar.git', {
-      \   'autoload': {'unite_sources': ['advent_calendar']}
-      \ }
-NeoBundleLazy 'osyo-manga/checking-global-variables.git', {
-      \   'autoload': {'unite_sources': ['checking-global-variables']}
-      \ }
-NeoBundleLazy 'osyo-manga/unite-toggle-options.git', {
-      \   'autoload': {'unite_sources': ['toggle-options']}
-      \ }
-NeoBundleLazy 'pasela/unite-webcolorname.git', {
-      \   'autoload': {'unite_sources': ['webcolorname']}
-      \ }
-NeoBundleLazy 'rails.vim', {
-      \   'autoload': {'filetypes': ['ruby', 'eruby']}
-      \ }
-NeoBundleLazy 'sjl/gundo.vim', {
-      \   'autoload': {'commands': ['GundoToggle']}
-      \ }
-NeoBundleLazy 'tacroe/unite-mark.git', {
-      \   'autoload': {'unite_sources': ['mark']}
-      \ }
-"NeoBundleLazy 'teramako/jscomplete-vim.git', {
-      "\   'autoload': {'filetypes': ['javascript']}
-      "\ }
-NeoBundleLazy 'thinca/vim-ref.git', {
-      \   'autoload': {
-      \       'commands': ['Unite', 'Ref'],
-      \       'unite_sources': ['ref']
-      \ }}
-NeoBundleLazy 'thinca/vim-qfreplace', {
-      \   'autoload': {'unite_sources': ['grep']}
-      \ }
-if ! s:is_windows
-  NeoBundleLazy 'basyura/J6uil.vim.git', {
-        \   'depends': ['mattn/webapi-vim.git', 'Shougo/vimproc'],
-        \   'autoload': {'commands': ['J6uil', 'J6uilReconnect']}
-        \ }
-endif
-NeoBundleLazy 'tsukkee/unite-tag.git', {
-      \   'autoload': {'unite_sources': ['tag']}
-      \ }
-NeoBundleLazy 'ujihisa/unite-colorscheme.git', {
-      \   'autoload': {'unite_sources': ['colorscheme']}
-      \ }
-NeoBundleLazy 'ujihisa/unite-font.git', {
-      \   'autoload': {'unite_sources': ['font']}
-      \ }
-NeoBundleLazy 'vbnet.vim', {
-      \   'autoload': {'filetypes': ['vb']}
-      \ }
-NeoBundleLazy 'vim-scripts/copypath.vim.git', {
-      \   'autoload': {'commands': ['CopyPath', 'CopyFileName']}
-      \ }
-NeoBundleLazy 'kchmck/vim-coffee-script'
-NeoBundleLazy 'mattn/emmet-vim', {
-      \   'autoload': {'filetypes': ['html', 'djangohtml', 'eruby']}
-      \ }
-NeoBundleLazy 'davidhalter/jedi-vim.git', {
-            \ 'depends': ['mitechie/pyflakes-pathogen'],
-            \   'build': {
-            \     'mac': 'pip install jedi',
-            \     'unix': 'pip install jedi'
-            \   }
-            \ }
-NeoBundleLazy 'mitechie/pyflakes-pathogen', {
-      \   'autoload': {'filetypes': 'python'}
-      \ }
-NeoBundleLazy 'leafgarland/typescript-vim', {
-      \   'autoload': {'filetypes': 'typescript'}
-      \ }
-NeoBundleLazy 'koron/chalice', {
-      \   'autoload': {'commands': 'Chalice'}
-      \ }
-NeoBundleLazy 'yuyunko/dosbatch-indent', {
-      \   'depends': 'taku-o/vim-batch-source.git',
-      \   'autoload': {'filetypes': 'dosbatch'}
-      \ }
-NeoBundleLazy 'lambdalisue/vim-django-support', {
-      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
-      \ }
-NeoBundleLazy 'jmcantrell/vim-virtualenv', {
-      \ 'autoload': {'filetypes': ['python', 'python3', 'djangohtml']}
-      \ }
-NeoBundleLazy 'JavaScript-syntax', {
-      \   'depends': 'pangloss/vim-javascript.git',
-      \   'autoload': {'filetypes': 'JavaScript'}
-      \ }
-NeoBundleLazy 'basyura/TweetVim', {
-      \   'depends': ['basyura/twibill.vim', 'tyru/open-browser.vim', 'basyura/bitly.vim.git',
-      \               'osyo-manga/TweetVim-powerline-theme.git'],
-      \   'autoload': {
-      \       'commands': ['TweetVimHomeTimeline', 'TweetVim'],
-      \       'unite_sources': ['tweetvim']
-      \ }}
-NeoBundleLazy 'mattn/googletasks-vim.git', {
-      \   'depends': ['mattn/webapi-vim.git'],
-      \   'autoload': {'commands': ['GoogleTasks']}
-      \ }
-NeoBundleLazy 'basyura/unite-firefox-bookmarks.git', {
-      \   'depends': ['tyru/open-browser.vim.git', 'mattn/webapi-vim.git'],
-      \   'autoload': {'unite_sources': ['firefox/bookmarks']}
-      \ }
-NeoBundleLazy 'aklt/plantuml-syntax', {
-      \   'autoload': {'filetypes': 'plantuml'}
-      \ }
-NeoBundleLazy 'wavded/vim-stylus', {
-      \   'autoload': {'filetypes': 'stylus'}
-      \ }
-NeoBundleLazy 'digitaltoad/vim-jade', {
-      \   'autoload': {'filetypes': 'jade'}
-      \ }
-"NeoBundleLazy 'Blackrush/vim-gocode', {
-NeoBundle 'jnwhiteh/vim-golang', {
-      \ "autoload": {"filetypes": 'go'},
-      \ "build": {
-      \   'windows': ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'cygwin' : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'mac'    : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
-      \   'unix'   : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint']
-      \ }}
-" for Haskell
-NeoBundleLazy 'dag/vim2hs', {
-      \   "autoload": {"filetypes": 'hs'}
-      \ }
-NeoBundleLazy 'eagletmt/ghcmod-vim', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }
-NeoBundleLazy 'ujihisa/neco-ghc', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }
-NeoBundleLazy 'eagletmt/unite-haddock', {
-      \   'autoload': {'filetypes': 'hs'}
-      \ }
-
-filetype plugin on
-filetype indent on
-
-" Installation check.
-if ! has('gui_running')
-  "NeoBundleCheck
-endif
-"===================================================================================}}}
-
-"{{{ ========== VimScripts ============================================================
-"ファイルを開いたら前回のカーソル位置へ移動
-autocmd MyAutoCmd BufReadPost *
-      \ if line("'\"") > 1 && line("'\"") <= line('$') |
-      \   exe "normal! g`\"" |
-      \ endif
-
-"全角スペースを表示
-function! ZenkakuSpace()
-  highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey
-  "全角スペースを明示的に表示する
-  silent! match ZenkakuSpace /　/
-endfunction
-
-if has('syntax')
-  autocmd MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
-endif
-
-"grep,tagsのためカレントディレクトリをファイルと同じディレクトリに移動する
-" autochdirが存在しないが、カレントディレクトリを移動したい場合
-au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
-
-"ctags用のディレクトリさかのぼって検索
-"set tags+=tags;
-" set tag file. don't search tags in pwd and search upward
-set tags& tags-=tags tags+=./tags;
-if v:version < 703 || (v:version == 7.3 && !has('patch336'))
-  set notagbsearch
-endif
-
-" システム関数
-let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'
-
-" Compiler
-if ! s:is_windows
-  autocmd MyAutoCmd FileType javascript compiler gjslint
-endif
-autocmd MyAutoCmd FileType scala compiler sbt
-
-" function
-function! s:mkdir(dir)
-  if !isdirectory(a:dir)
-    call mkdir(a:dir, "p")
-  endif
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== System ================================================================
-"ファイルの上書きの前にバックアップを作る/作らない
-"set writebackupを指定してもオプション 'backup' がオンでない限り、
-"バックアップは上書きに成功した後に削除される。
-"set nowritebackup
-"バックアップ/スワップファイルを作成する/しない
-"set nobackup
-"verbose
-"set verbose=9
-"バックアップディレクトリ
-let $MY_BACKUP_DIR = $MY_VIMRUNTIME.'/back'
-call s:mkdir($MY_BACKUP_DIR)
-
-if version >= 703
-  "再読込、vim終了後も継続するアンドゥ(7.3)
-  set undofile
-  "アンドゥの保存場所(7.3)
-  set undodir=$MY_BACKUP_DIR
-endif
-"set noswapfile
-"viminfoを作成しない
-"set viminfo=
-"encoding
-set encoding=utf-8
-" クリップボードをデフォルトのレジスタとして指定。後にYankRingを使うので
-" 'unnamedplus'が存在しているかどうかで設定を分ける必要がある
-if has('unnamedplus')
-  set clipboard& clipboard+=unnamedplus
-else
-  " set clipboard& clipboard+=unnamed,autoselect
-  set clipboard& clipboard+=unnamed
-endif
-" 新しく開く代わりにすでに開いてあるバッファを開く
-set switchbuf=useopen
-"8進数を無効にする。<C-a>,<C-x>に影響する
-set nrformats-=octal
-"キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
-set timeoutlen=3500
-"編集結果非保存のバッファから、新しいバッファを開くときに警告を出さない
-set hidden
-"ヒストリの保存数
-set history=100000
-"日本語の行の連結時には空白を入力しない
-set formatoptions+=mM
-" 改行時にコメントしない
-autocmd MyAutoCmd FileType *
-      \ setl formatoptions-=ro | setl formatoptions+=mM
-set textwidth=0
-"Visual blockモードでフリーカーソルを有効にする
-set virtualedit=block
-"カーソルキーで行末／行頭の移動可能に設定
-set whichwrap=b,s,[,],<,>
-"バックスペースでインデントや改行を削除できるようにする
-set backspace=indent,eol,start
-"□や○の文字があってもカーソル位置がずれないようにする
-set ambiwidth=double
-"コマンドライン補完するときに強化されたものを使う
-set wildmenu
-set wildmode=list,full
-"マウスを有効にする
-if has('mouse')
-  set mouse=a
-endif
-"自動で読み込み直す
-set autoread
-" Check timestamp more for 'autoread'.
-autocmd MyAutoCmd WinEnter * checktime
-"===================================================================================}}}
-
-"{{{ ========== Search ================================================================
-"検索の時に大文字小文字を区別しない
-"ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する
-set ignorecase
-set smartcase
-"検索時にファイルの最後まで行ったら最初に戻る
-set wrapscan
-"インクリメンタルサーチ
-set incsearch
-" Ignore case on insert completion.
-set infercase
-"検索文字の強調表示
-set hlsearch
-"highlight消去
-"nnoremap <ESC><ESC> :<C-u>noh<CR>
-"<C-p> <C-n>でそれぞれ過去の検索から補完
-cnoremap <C-p> <Up>
-cnoremap <C-n> <Down>
-"w,bの移動で認識する文字
-"vimgrep をデフォルトのgrepとする場合internal
-set grepprg=grep\ -nH
-"vimgrepで自動でcw
-" https://sites.google.com/site/hymd3a/vim/vimgrep
-autocmd MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
-"===================================================================================}}}
-
-"{{{ ========== Appearance ============================================================
-"スプラッシュ(起動時のメッセージ)を表示しない
-"set shortmess+=I
-"エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定)
-set noerrorbells
-set novisualbell
-set visualbell t_vb=
-"マクロ実行中などの画面再描画を行わない
-"set lazyredraw
-"Windowsでディレクトリパスの区切り文字表示に / を使えるようにする
-"set noshellslash
-set shellslash
-"行番号表示
-set number
-if version >= 703
-  "相対行番号表示(7.3)
-  "set relativenumber
-endif
-"括弧の対応表示時間
-set showmatch matchtime=3
-"タブ幅を設定する
-set tabstop=4
-set shiftwidth=4
-set softtabstop=0
-set expandtab
-"タブ文字、行末など不可視文字を表示する
-set list
-"listで表示される文字のフォーマットを指定する
-"set listchars=tab:\ \ ,eol:\ ,trail:-
-if s:is_windows
-  set listchars=tab:>_,trail:-,extends:>,precedes:<
-else
-  set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%
-endif
-"バックアップファイルディレクトリ指定
-set backupdir=$MY_BACKUP_DIR
-"スワップファイルディレクトリ指定
-set directory=$MY_BACKUP_DIR
-"自動的にインデントする
-set autoindent
-"Cインデントの設定
-set cinoptions+=:0
-"タイトルを表示
-set title
-"コマンドラインの高さ (gvimはgvimrcで指定)
-set cmdheight=2
-set laststatus=2
-"コマンドをステータス行に表示
-set showcmd
-"画面最後の行をできる限り表示する
-set display=lastline
-"折り畳みをマークで可能にする
-set foldmethod=marker
-" ハイライトを有効にする
-if &t_Co > 2 || has('gui_running')
-  syntax on
-endif
-"検索結果を見やすく
-highlight Search ctermbg=1
-
-"色テーマ設定
-"256色表示設定
-set t_Co=256
-"gvimの色テーマは.gvimrcで指定する
-set background=dark
-colorscheme hybrid
-let g:molokai_original = 1
-let g:rehash256 = 1
-let g:solarized_termcolors = 256
-" 輝度を高くする
-let g:solarized_visibility = "high"
-" コントラストを高くする
-let g:solarized_contrast = "high"
-"===================================================================================}}}
-
-"{{{ ========== StatusLine ============================================================
-"ステータスラインに文字コード等表示
-"iconvが使用可能の場合、カーソル上の文字コードをエンコードに応じた表示にするFencB()を使用
-""""""""""""""""""""""""""""""
-if has('iconv')
-  set statusline=%<     " 行が長すぎるときに切り詰める位置
-  set statusline+=[%n]  " バッファ番号
-  set statusline+=%m    " %m 修正フラグ
-  set statusline+=%r    " %r 読み込み専用フラグ
-  set statusline+=%h    " %h ヘルプバッファフラグ
-  set statusline+=%w    " %w プレビューウィンドウフラグ
-  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-  set statusline+=%y    " バッファ内のファイルのタイプ
-  set statusline+=\     " 空白スペース
-  if winwidth(0) >= 130
-    set statusline+=%F    " バッファ内のファイルのフルパス
-  else
-    set statusline+=%t    " ファイル名のみ
-  endif
-  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=[0x%{FencB()}]  "文字コード表示"
-  set statusline+=%1l   " 何行目にカーソルがあるか
-  set statusline+=/
-  set statusline+=%L    " バッファ内の総行数
-  set statusline+=,
-  set statusline+=%c    " 何列目にカーソルがあるか
-  set statusline+=%V    " 画面上の何列目にカーソルがあるか
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%P    " ファイル内の何％の位置にあるか
-else
-  set statusline=%<     " 行が長すぎるときに切り詰める位置
-  set statusline+=[%n]  " バッファ番号
-  set statusline+=%m    " %m 修正フラグ
-  set statusline+=%r    " %r 読み込み専用フラグ
-  set statusline+=%h    " %h ヘルプバッファフラグ
-  set statusline+=%w    " %w プレビューウィンドウフラグ
-  set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}  " fencとffを表示
-  set statusline+=%y    " バッファ内のファイルのタイプ
-  set statusline+=\     " 空白スペース
-  if winwidth(0) >= 130
-    set statusline+=%F    " バッファ内のファイルのフルパス
-  else
-    set statusline+=%t    " ファイル名のみ
-  endif
-  set statusline+=%=    " 左寄せ項目と右寄せ項目の区切り
-  set statusline+=%{fugitive#statusline()}  " Gitのブランチ名を表示
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%1l   " 何行目にカーソルがあるか
-  set statusline+=/
-  set statusline+=%L    " バッファ内の総行数
-  set statusline+=,
-  set statusline+=%c    " 何列目にカーソルがあるか
-  set statusline+=%V    " 画面上の何列目にカーソルがあるか
-  set statusline+=\ \   " 空白スペース2個
-  set statusline+=%P    " ファイル内の何％の位置にあるか
-endif
-
-"FencB() : カーソル上の文字コードをエンコードに応じた表示にする
-function! FencB()
-  let c = matchstr(getline('.'), '.', col('.') - 1)
-  let c = iconv(c, &enc, &fenc)
-  return s:Byte2hex(s:Str2byte(c))
-endfunction
-
-function! s:Str2byte(str)
-  return map(range(len(a:str)), 'char2nr(a:str[v:val])')
-endfunction
-
-function! s:Byte2hex(bytes)
-  return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== diff/patch ============================================================
-"diffの設定
-if s:is_windows
-  set diffexpr=MyDiff()
-  function! MyDiff()
-    let opt = '-a --binary '
-    if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
-    if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
-    let arg1 = v:fname_in
-    if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
-    let arg2 = v:fname_new
-    if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
-    let arg3 = v:fname_out
-    if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
-    let eq = ''
-    if $VIMRUNTIME =~ ' '
-      if &sh =~ '\<cmd'
-        let cmd = '""' . $VIMRUNTIME . '\diff"'
-        let eq = '"'
-      else
-        let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
-      endif
-    else
-      let cmd = $VIMRUNTIME . '\diff'
-    endif
-    silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
-  endfunction
-endif
-
-"現バッファの差分表示(変更箇所の表示)
-command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
-"ファイルまたはバッファ番号を指定して差分表示。#なら裏バッファと比較
-command! -nargs=? -complete=file Diff if '<args>'=='' |
-      \ browse vertical diffsplit|else| vertical diffsplit <args>|endif
-"パッチコマンド
-set patchexpr=MyPatch()
-function! MyPatch()
-  :call system($VIM."\\'.'patch -o " . v:fname_out . " " . v:fname_in . " < " . v:fname_diff)
-endfunction
-"===================================================================================}}}
-
-"{{{ ========== Mappings ==============================================================
-"----------------------------------------
-" ノーマルモード
-"----------------------------------------
-"ヘルプ検索
-nnoremap <F1> K
-"強制全保存終了を無効化
-nnoremap ZZ <Nop>
-"カーソルをj k では表示行で移動する。物理行移動は<C-n>,<C-p>
-"キーボードマクロには物理行移動を推奨
-"h l は行末、行頭を超えることが可能に設定(whichwrap)
-nnoremap <Down> gj
-nnoremap <Up>   gk
-nnoremap h <Left>
-nnoremap j gj
-nnoremap k gk
-nnoremap l <Right>
-"l を <Right>に置き換えても、折りたたみを l で開くことができるようにする
-if has('folding')
-  nnoremap <expr> l foldlevel(line('.')) ? "\<Right>zo" : "\<Right>"
-endif
-
-"バッファ移動
-nnoremap gh :bp<CR>
-nnoremap gl :bn<CR>
-"タブ移動
-"kaoriyaのdicwinはいらん！
-let plugin_dicwin_disable = 1
-
-"spaceを使えるように
-nmap <Space> [Space]
-nnoremap [Space] <Nop>
-
-nnoremap <SID>[tab-right] gt
-nnoremap <SID>[tab-left] gT
-nmap <C-L> <SID>[tab-right]
-nmap <C-H> <SID>[tab-left]
-
-"Window操作
-nnoremap <M-j> <C-w>+
-nnoremap <M-k> <C-w>-
-nnoremap <M-h> <C-w><
-nnoremap <M-l> <C-w>>
-nnoremap <A-j> <C-w>+
-nnoremap <A-k> <C-w>-
-nnoremap <A-h> <C-w><
-nnoremap <A-l> <C-w>>
-nnoremap <S-Left>  <C-w><<CR>
-nnoremap <S-Right> <C-w>><CR>
-nnoremap <S-Up>    <C-w>-<CR>
-nnoremap <S-Down>  <C-w>+<CR>
-
-nnoremap [Space]s :<C-u>split<CR>
-nnoremap [Space]v :<C-u>vsplit<CR>
-
-"ログとか見る時用
-autocmd MyAutoCmd BufNewFile,BufRead *.csv,*.log setl nowrap
-
-" iminsert
-"inoremap <silent> <ESC> <ESC>:<C-u>set iminsert=0<CR>
-
-"----------------------------------------
-" 挿入モード
-"----------------------------------------
-"括弧を自動で補完する設定
-"inoremap { {}<LEFT>
-"inoremap [ []<LEFT>
-"inoremap ( ()<LEFT>
-"inoremap " ""<LEFT>
-"inoremap ' ''<LEFT>
-
-"----------------------------------------
-" 短縮入力
-"----------------------------------------
-" for ruby
-"au MyAutoCmd FileType ruby inoreab <buffer> module module<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> class class<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> def def<cr>end<up><end>
-"au MyAutoCmd FileType ruby inoreab <buffer> do do<cr>end<up><end>
-" for C
-au MyAutoCmd FileType c inoreab <buffer> { {<cr>}<up><end>
-" for javascript
-au MyAutoCmd FileType javascript inoreab <buffer> /** /**************************************************************************<CR><Space>*<CR>**************************************************************************/<Up><Space>
-"----------------------------------------
-" ビジュアルモード
-"----------------------------------------
-"括弧まで自動でかこむ
-"vnoremap { "zdi^V{<C-R>z}<ESC>
-"vnoremap [ "zdi^V[<C-R>z]<ESC>
-"vnoremap ( "zdi^V(<C-R>z)<ESC>
-"vnoremap " "zdi^V"<C-R>z^V"<ESC>
-"vnoremap ' "zdi'<C-R>z'<ESC>
-
-"----------------------------------------
-" コマンドモード
-"----------------------------------------
-"sudo で保存
-com! Wsu w !sudo tee > /dev/null %
-"like emacs
-cnoremap <C-b> <Left>
-cnoremap <C-f> <Right>
-cnoremap <C-a> <Home>
-cnoremap <C-e> <End>
-cnoremap <C-d> <Del>
-cnoremap <C-y> <C-r>
-"===================================================================================}}}
-
-"{{{ ========== Plugin Settings =======================================================
-" mapping for NeoBundle
-nnoremap [Space]bi :<C-u>NeoBundleInstall!<CR>
-
-" ligntline {{{
-if s:is_windows
-  let g:lightline = {
-        \ 'colorscheme': 'landscape',
-        \ 'mode_map': { 'c': 'NORMAL' },
-        \ 'active': {
-        \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
-        \ },
-        \ 'component_function': {
-        \   'modified': 'MyModified',
-        \   'readonly': 'MyReadonly',
-        \   'fugitive': 'MyFugitive',
-        \   'filename': 'MyFilename',
-        \   'fileformat': 'MyFileformat',
-        \   'filetype': 'MyFiletype',
-        \   'fileencoding': 'MyFileencoding',
-        \   'mode': 'MyMode',
-        \ }
-        \ }
-else
-  let g:lightline = {
-        \ 'colorscheme': 'hybrid',
-        \ 'mode_map': { 'c': 'NORMAL' },
-        \ 'active': {
-        \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
-        \ },
-        \ 'component_function': {
-        \   'modified': 'MyModified',
-        \   'readonly': 'MyReadonly',
-        \   'fugitive': 'MyFugitive',
-        \   'filename': 'MyFilename',
-        \   'fileformat': 'MyFileformat',
-        \   'filetype': 'MyFiletype',
-        \   'fileencoding': 'MyFileencoding',
-        \   'mode': 'MyMode',
-        \ },
-        \ 'separator': { 'left': '⮀', 'right': '⮂' },
-        \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
-        \ }
-endif
-
-function! MyModified()
-  return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-'
-endfunction
-
-function! MyReadonly()
-  if s:is_windows
-    return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? 'R' : ''
-  else
-    return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? '⭤' : ''
-  endif
-endfunction
-
-function! MyFilename()
-  return ('' != MyReadonly() ? MyReadonly() . ' ' : '') .
-        \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
-        \  &ft == 'unite' ? unite#get_status_string() :
-        \  &ft == 'vimshell' ? vimshell#get_status_string() :
-        \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
-        \ ('' != MyModified() ? ' ' . MyModified() : '')
-endfunction
-
-function! MyFugitive()
-  if &ft !~? 'vimfiler\|gundo' && exists("*fugitive#head")
-    let _ = fugitive#head()
-    if s:is_windows
-      return strlen(_) ? '| '._ : ''
-    else
-      return strlen(_) ? '⭠ '._ : ''
-    endif
-  endif
-  return ''
-endfunction
-
-function! MyFileformat()
-  return winwidth('.') > 70 ? &fileformat : ''
-endfunction
-
-function! MyFiletype()
-  return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : ''
-endfunction
-
-function! MyFileencoding()
-  return winwidth('.') > 70 ? (strlen(&fenc) ? &fenc : &enc) : ''
-endfunction
-
-function! MyMode()
-  return winwidth('.') > 60 ? lightline#mode() : ''
-endfunction
-" }}}
-
-" vim-gitgutter {{{
-let g:gitgutter_sign_added = '✚'
-let g:gitgutter_sign_modified = '➜'
-let g:gitgutter_sign_removed = '✘'
-" }}}
-
-" submode {{{
-let g:submode_leave_with_key = 1
-call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')
-call submode#enter_with('winsize', 'n', '', '<C-w><', '<C-w><')
-call submode#enter_with('winsize', 'n', '', '<C-w>+', '<C-w>-')
-call submode#enter_with('winsize', 'n', '', '<C-w>-', '<C-w>+')
-call submode#map('winsize', 'n', '', '>', '<C-w>>')
-call submode#map('winsize', 'n', '', '<', '<C-w><')
-call submode#map('winsize', 'n', '', '+', '<C-w>-')
-call submode#map('winsize', 'n', '', '-', '<C-w>+')
-" }}}
-
-" vim-anzu {{{
-" n や N の代わりに使用します。
-"nmap n <Plug>(anzu-n)
-"nmap N <Plug>(anzu-N)
-"nmap * <Plug>(anzu-star)
-"nmap # <Plug>(anzu-sharp)
-
-"nmap n nzz<Plug>(anzu-update-search-status)
-"nmap N Nzz<Plug>(anzu-update-search-status)
-"nmap * <Plug>(anzu-star)
-"nmap # <Plug>(anzu-sharp)
-" ESC2回押しで検索ハイライトを消去
-autocm MyAutoCmd VimEnter,WinEnter,WinLeave * nmap <silent> <ESC><ESC>
-      \ :<C-u>nohlsearch<CR><Plug>(anzu-clear-search-status)
-" format = (該当数/全体数)
-"let g:anzu_status_format = "(%i/%l)"
-" ステータス情報を statusline へと表示する
-"set statusline=%{anzu#search_status()}
-
-" こっちを使用すると
-" 移動後にステータス情報をコマンドラインへと出力を行います。
-" statusline を使用したくない場合はこっちを使用して下さい。
-"nmap n <Plug>(anzu-n-with-echo)
-"nmap N <Plug>(anzu-N-with-echo)
-"nmap * <Plug>(anzu-star-with-echo)
-"nmap # <Plug>(anzu-sharp-with-echo)
-
-" anzu-mode を開始し、直後に n で移動する
-nmap n <Plug>(anzu-mode-n)
-" anzu-mode を開始し、直後に N で移動する
-nmap N <Plug>(anzu-mode-N)
-
-" anzu-mode で n や N を入力した場合、zzzv も追加して移動を行う
-nnoremap <expr> n anzu#mode#mapexpr("n", "", "zzzv")
-nnoremap <expr> N anzu#mode#mapexpr("N", "", "zzzv")
-" }}}
-
-" octoeditor {{{
-let s:hooks = neobundle#get_hooks("octoeditor.vim")
-function! s:hooks.on_source(bundle)
-  map <Leader>on  :<C-u>OctopressNew<CR>
-  map <Leader>ol  :<C-u>OctopressList<CR>
-  map <Leader>or  :<C-u>OctopressGrep<CR>
-  nmap <Leader>og :<C-u>OctopressGenerate<CR>
-  nmap <Leader>od :<C-u>OctopressDeploy<CR>
-  let g:octopress_path = '~/Dropbox/Documents/git/MyGit/octopress'
-  let g:octopress_prompt_categories = 1
-  let g:octopress_vimfiler = 1
-endfunction
-unlet s:hooks
-" }}}
-
-" TweetVim {{{
-" タイムライン選択用の Unite を起動する
-nnoremap <buffer> [Space]tl :<C-u>Unite tweetvim<CR>
-" アカウントスイッチ
-nnoremap <buffer> [Space]ta :<C-u>Unite tweetvim/account<CR>
-let s:hooks = neobundle#get_hooks("TweetVim")
-function! s:hooks.on_source(bundle)
-  " デフォルトアカウント
-  let g:tweetvim_default_account = "r_y_y_k_m"
-  " 発言用バッファを表示する
-  au MyAutoCmd FileType tweetvim nnoremap <buffer> [Space]s :<C-u>TweetVimSay<CR>
-  " 検索
-  au MyAutoCmd FileType tweetvim nnoremap <buffer> <leader>s :<C-u>TweetVimSearch<Space>
-  " UserStream
-  au MyAutoCmd FileType tweetvim nnoremap <buffer> [Space]us :<C-u>TweetVimUserStream<CR>
-
-  " 1ページの数(default = 20)
-  let g:tweetvim_tweet_per_page = 200
-  " キャッシュサイズ(default = 10)
-  let g:tweetvim_cache_size = 50
-  " display source(default = 0)
-  let g:tweetvim_display_source = 1
-  " display tweet's time(default = 0)
-  let g:tweetvim_display_time = 1
-endfunction
-unlet s:hooks
-" }}}
-
-" vim-quickhl {{{
-let s:hooks = neobundle#get_hooks("vim-quickhl")
-function! s:hooks.on_source(bundle)
-  nmap [Space]m <Plug>(quickhl-toggle)
-  xmap <Space>m <Plug>(quickhl-toggle)
-  nmap [Space]M <Plug>(quickhl-reset)
-  xmap <Space>M <Plug>(quickhl-reset)
-  nmap [Space]j <Plug>(quickhl-match)
-endfunction
-unlet s:hooks
-" }}}
-
-" vim-indent-guides {{{
-"http://room6933.com/blog/2011/11/30/vimrc_for_python/
-let g:indent_guides_enable_on_vim_startup = 1
-let g:indent_guides_guide_size = 1
-let g:indent_guides_auto_colors = 1
-let g:indent_guides_start_level = 2
-"autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  ctermbg=red
-"autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=green
-"autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=red
-"autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green
-" }}}
-
-if neobundle#tap('vimfiler')"{{{
-    call neobundle#config({
-                \ 'augroup': 'vimfiler',
-                \   'autoload': {
-                \       'unite_sources': ['vimfiler_drive', 'vimfiler_execute', 'vimfiler_history',
-                \                         'vimfiler_mask', 'vimfiler_popd', 'vimfiler_sort'],
-                \       'mappings': [['n', '<Plug>(vimfiler_']],
-                \       'commands': [{'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerCurrentDir'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Read'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFiler'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerBufferDir'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerSimple'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerTab'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Edit'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerExplorer'},
-                \                    'VimFilerClose',
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerCreate'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerSplit'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Write'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerDouble'},
-                \                    {'complete': 'customlist,vimfiler#complete', 'name': 'Source'}]
-                \ }
-                \ })
-
-    nnoremap <Leader>f :<C-u>VimFiler -split -simple -toggle -winwidth=35 -no-quit<CR>
-    nnoremap <C-e> :<C-u>VimFilerDouble<CR>
-    nnoremap <expr><Leader>g <SID>git_root_dir()
-        " gitディレクトリにいる場合、そのルートを開く
-        " http://qiita.com/items/39134f75e9360e1e733d
-    function! s:git_root_dir()
-        if(system('git rev-parse --is-inside-work-tree') == "true\n")
-            return ':VimFiler ' . '-split ' . '-simple ' . '-winwidth=35 ' . '-no-quit '
-                        \ . system('git rev-parse --show-cdup') . '\<CR>'
-        else
-            echoerr '!!!current directory is outside git working tree!!!'
-        endif
-    endfunction
-    function! neobundle#tapped.hooks.on_source(bundle)
-        let g:vimfiler_as_default_explorer = 1
-        let g:vimfiler_enable_auto_cd = 1
-        if s:is_windows
-            let g:unite_kind_file_use_trashbox = 1
-        endif
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('vimshell.vim')"{{{
-    call neobundle#config({
-                \ 'augroup': 'vimshell',
-                \ 'autoload': {
-                \   'unite_sources': ['vimshell_external_history', 'vimshell_history',
-                \                     'vimshell_zsh_complete'],
-                \   'mappings': [['n', '<Plug>(vimshell_']],
-                \   'commands': [{'complete': 'customlist,vimshell#complete', 'name': 'VimShell'},
-                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellPop'},
-                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellCreate'},
-                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellCurrentDir'},
-                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellExecute'},
-                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellBufferDir'},
-                \                'VimShellSendString',
-                \                {'complete': 'customlist,vimshell#complete', 'name': 'VimShellTab'},
-                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellTerminal'},
-                \                {'complete': 'customlist,vimshell#vimshell_execute_complete', 'name': 'VimShellInteractive'},
-                \                {'complete': 'buffer', 'name': 'VimShellSendBuffer'}]
-                \ }
-                \ })
-    function! neobundle#tapped.hooks.on_source(bundle)
-        " PATH
-        if has('unix')
-            " 自分用
-            let $PATH = $PATH . ':' . $HOME . '/bin:' . $HOME . '/bin/scripts'
-            " homebrew
-            let $PATH = '/usr/local/bin:' . $PATH
-        endif
-
-        let g:vimshell_user_prompt = 'fnamemodify(getcwd(), ":~")'
-        let g:vimshell_right_prompt = 'vcs#info("(%s)-[%b]", "(%s)-[%b|%a]")'
-        let g:vimshell_enable_smart_case = 1
-
-        if s:is_windows
-            " Display user name on Windows.
-            let g:vimshell_prompt = $USERNAME."% "
-        else
-            " Display user name on Linux.
-            "let g:vimshell_prompt = $USER."% "
-
-            call vimshell#set_execute_file('bmp,jpg,png,gif', 'gexe eog')
-            call vimshell#set_execute_file('mp3,m4a,ogg', 'gexe amarok')
-            let g:vimshell_execute_file_list['zip'] = 'zipinfo'
-            call vimshell#set_execute_file('tgz,gz', 'gzcat')
-            call vimshell#set_execute_file('tbz,bz2', 'bzcat')
-        endif
-
-        let g:vimshell_execute_file_list = {}
-        call vimshell#set_execute_file('txt,vim,c,h,cpp,d,xml,java', 'vim')
-        let g:vimshell_execute_file_list['rb'] = 'ruby'
-        let g:vimshell_execute_file_list['pl'] = 'perl'
-        let g:vimshell_execute_file_list['py'] = 'python'
-        call vimshell#set_execute_file('html,xhtml', 'gexe firefox')
-
-        autocmd MyAutoCmd FileType vimshell
-                    \ if ! s:is_windows
-                    \| call vimshell#altercmd#define('i', 'iexe')
-                    \| call vimshell#altercmd#define('ll', 'ls -l')
-                    \| call vimshell#altercmd#define('la', 'ls -a')
-                    \| call vimshell#altercmd#define('lla', 'ls -al')
-                    \| call vimshell#altercmd#define('lv', 'vim -R')
-                    \| call vimshell#altercmd#define('vimfiler', 'vim -c VimFilerDouble')
-                    \| call vimshell#altercmd#define('rm', 'rmtrash')
-                    \| call vimshell#altercmd#define('s', ':UniteBookmarkAdd .')
-                    \| call vimshell#altercmd#define('g', ':Unite bookmark -start-insert')
-                    \| call vimshell#altercmd#define('l', ':Unite bookmark')
-                    \| call vimshell#hook#add('chpwd', 'my_chpwd', 'g:my_chpwd')
-                    \| else
-                        \| call vimshell#altercmd#define('vimfiler', 'gvim -c VimFilerDouble')
-                        \| endif
-
-
-        function! g:my_chpwd(args, context)
-            call vimshell#execute('ls')
-        endfunction
-
-        autocmd MyAutoCmd FileType int-* call s:interactive_settings()
-        function! s:interactive_settings()
-        endfunction
-
-        " history
-        let g:vimshell_max_command_history = 5000000
-        " mapping
-        "nnoremap [Space]s :<C-u>VimShell<CR>
-        autocmd MyAutoCmd FileType vimshell inoremap <C-^> cd<Space>../<CR>
-        autocmd MyAutoCmd FileType vimshell imap <C-l> <Plug>(vimshell_clear)
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('vimshell-pure.vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'on_source': ['vimshell.vim']
-                \ }
-                \ })
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('neocomplete.vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'insert': 1,
-                \   'unite_sources': ['file_include', 'neocomplete'],
-                \   'mappings': [['i', '<Plug>(neocomplete_start_']],
-                \   'commands': ['NeoCompleteAutoCompletionLength',
-                \                {'complete': 'buffer', 'name': 'NeoCompleteIncludeMakeCache'},
-                \                'NeoCompleteClean', 'NeoCompleteUnlock',
-                \                {'complete': 'customlist,neocomplete#filetype_complete', 'name': 'NeoCompleteSyntaxMakeCache'},
-                \                'NeoCompleteTagMakeCache', 'NeoCompleteEnable',
-                \                {'complete': 'customlist,neocomplete#filetype_complete', 'name': 'NeoCompleteDictionaryMakeCache'},
-                \                {'complete': 'buffer', 'name': 'NeoCompleteVimMakeCache'},
-                \                'NeoCompleteLock', 'NeoCompleteDisable', 'NeoCompleteToggle',
-                \                {'complete': 'filetype', 'name': 'NeoCompleteSetFileType'},
-                \                {'complete': 'file', 'name': 'NeoCompleteBufferMakeCache'}]
-                \ }
-                \ })
-    function! neobundle#tapped.hooks.on_source(bundle)
-        let g:acp_enableAtStartup = 0
-        let g:neocomplete#enable_smart_case = 1
-        let g:neocomplete#sources#syntax#min_keyword_length = 3
-        let g:neocomplete#enable_at_startup = 1
-        " Define dictionary.
-        let g:neocomplete#sources#dictionary#dictionaries = {
-                    \ 'default': '',
-                    \ 'vimshell': $HOME . '/.vimshell_hist',
-                    \ 'scheme': $HOME . '/.gosh_completions',
-                    \ 'coffee': $MY_VIMRUNTIME . '/dict/coffee.dict',
-                    \ 'vbs': $MY_VIMRUNTIME . '/dict/vbs.dict',
-                    \ 'dosbatch': $MY_VIMRUNTIME . '/dict/dosbatch.dict',
-                    \ 'scala': $MY_VIMRUNTIME . '/dict/scala.dict',
-                    \ 'ps1': $MY_VIMRUNTIME . '/dict/ps1.dict',
-                    \ 'javascript': $MY_VIMRUNTIME . '/dict/wsh.dict'
-                    \ }
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('neosnippet.vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'insert': 1,
-                \   'unite_sources': ['neosnippet_file', 'snippet', 'snippet_target'],
-                \   'mappings': [['sxi', '<Plug>(neosnippet_']],
-                \   'commands': [{'complete': 'file', 'name': 'NeoSnippetSource'},
-                \                {'complete': 'customlist,neosnippet#commands#_filetype_complete', 'name': 'NeoSnippetMakeCache'},
-                \                {'complete': 'customlist,neosnippet#commands#_edit_complete', 'name': 'NeoSnippetEdit'}]
-                \ }
-                \ })
-
-    " Plugin key-mappings.
-    imap <C-k>     <Plug>(neosnippet_expand_or_jump)
-    smap <C-k>     <Plug>(neosnippet_expand_or_jump)
-    xmap <C-k>     <Plug>(neosnippet_expand_target)
-    function! neobundle#tapped.hooks.on_source(bundle)
-        " Tell Neosnippet about the other snippets
-        let g:neosnippet#snippets_directory = $HOME . '/.snippets,'
-
-        " For snippet_complete marker.
-        if has('conceal')
-            set conceallevel=2 concealcursor=i
-        endif
-
-        " for unite
-        imap <C-s> <Plug>(neocomplcache_start_unite_snippet)
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('unite.vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'name': 'Unite', 'complete': 'customlist,unite#complete_source'
-                \ }
-                \ })
-    " カラースキーマプレビュー
-    nnoremap [Space]uc :<C-u>Unite colorscheme -auto-preview<CR>
-    " history/yank
-    nnoremap <silent> [Space]uy :<C-u>Unite -no-split history/yank -buffer-name=history/yank<CR>
-    " バッファ一覧
-    nnoremap <silent> [Space]ub :<C-u>Unite -no-split buffer -auto-preview -buffer-name=buffer<CR>
-    " ファイル一覧
-    "nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=files file<CR>
-    " ファイル一覧(再帰)
-    nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=file_rec/async file_rec/async<CR>
-    " ブックマーク
-    nnoremap <silent> ,ub :<C-u>Unite -no-split -buffer-name=bookmark -default-action=cd bookmark<CR>
-    " grep
-    nnoremap <silent> [Space]ug :<C-u>Unite -buffer-name=grep -no-quit -auto-preview grep<CR>
-    " outline
-    nnoremap <silent> [Space]uo :<C-u>Unite -buffer-name=outline outline<CR>
-    " QuickFix
-    nnoremap <silent> [Space]uq :<C-u>Unite -buffer-name=QuickFix -no-quit qf<CR>
-    " レジスタ一覧
-    nnoremap <silent> [Space]ur :<C-u>Unite -buffer-name=register register<CR>
-    " 最近使用したファイル一覧
-    nnoremap <silent> [Space]um :<C-u>Unite -no-split file_mru -buffer-name=file_mru -auto-preview<CR>
-    " 常用セット
-    nnoremap <silent> [Space]uu :<C-u>Unite -no-split buffer file_mru<CR>
-    " 全部乗せ
-    nnoremap <silent> [Space]ua :<C-u>Unite -no-split -buffer-name=files buffer
-                \                              file_mru bookmark file file_rec/async<CR>
-    " 検索
-    nnoremap <silent> [Space]/ :<C-u>Unite -buffer-name=search line/fast -no-quit<CR>
-    " help
-    nnoremap <silent> [Space]uh :<C-u>Unite -no-split -buffer-name=help help<CR>
-    " NeoBundle
-    nnoremap [Space]ui :<C-u>Unite -no-split -no-start-insert -buffer-name=neobundle neobundle/update<CR>
-    nnoremap [Space]bs :<C-u>Unite -no-split -buffer-name=neobundle/search neobundle/search<CR>
-    " ~/.vim_junk フォルダをgrep
-    nnoremap [Space]ujg :<C-u>Unite -no-split -buffer-name=Grep_JunkFile grep:~/.vim_junk/
-
-    function! neobundle#tapped.hooks.on_source(bundle)
-        " start unite in insert mode
-        let g:unite_enable_start_insert = 1
-        " use vimfiler to open directory
-        call unite#custom#default_action("source/bookmark/directory", "vimfiler")
-        call unite#custom#default_action("directory", "vimfiler")
-        call unite#custom#default_action("directory_mru", "vimfiler")
-        "call unite#custom#default_action("file", "tabdrop")
-        autocmd MyAutoCmd FileType unite call s:unite_settings()
-        function! s:unite_settings()
-            nmap <buffer> <Esc> <Plug>(unite_exit)
-            nmap <buffer> <C-n> <Plug>(unite_select_next_line)
-            nmap <buffer> <C-p> <Plug>(unite_select_previous_line)
-            let g:unite_source_menu_menus = {
-                        \   "shortcut": {
-                        \       "description": "sample unite-menu",
-                        \       "command_candidates": [
-                        \           ["edit vimrc", "edit $MYVIMRC"],
-                        \           ["edit gvimrc", "edit $MYGVIMRC"],
-                        \           ["unite-file_mru", "Unite file_mru"],
-                        \           ["Unite Beautiful Attack", "Unite -auto-preview colorscheme"],
-                        \           ["unite-output:message", "Unite output:message"]
-                        \       ]
-                        \   }
-                        \ }
-            " 垂直に分割
-            "let g:unite_enable_split_vertically = 1
-            " file_mruの最大保存件数
-            let g:unite_source_file_mru_limit = 1000
-            " history/yankの有効化
-            let g:unite_source_history_yank_enable = 1
-            " grep source setting
-            if s:is_windows
-                let g:unite_source_grep_command = 'grep'
-                let g:unite_source_grep_default_opts = '--color'
-                let g:unite_source_grep_max_candidates = 200
-            else
-                let g:unite_source_grep_command = 'ag'
-                let g:unite_source_grep_default_opts = '--nocolor --nogroup'
-                let g:unite_source_grep_recursive_opt = ''
-                let g:unite_source_grep_max_candidates = 200
-            endif
-        endfunction
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('open-browser.vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'mappings': [['sxn', '<Plug>(openbrowser-']],
-                \   'commands': [{'complete': 'customlist,openbrowser#_cmd_complete', 'name': 'OpenBrowserSearch'},
-                \                {'complete': 'customlist,openbrowser#_cmd_complete', 'name': 'OpenBrowserSmartSearch'},
-                \                'OpenBrowser']
-                \ }
-                \ })
-    function! neobundle#tapped.hooks.on_source(bundle)
-        " http://vim-users.jp/2011/08/hack225/
-        nmap gx <Plug>(openbrowser-smart-search)
-        vmap gx <Plug>(openbrowser-smart-search)
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('sonictemplate-vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'unite_sources': ['sonictemplate'],
-                \   'mappings': [['in', '<Plug>(sonictemplate']],
-                \   'commands': ['Template']
-                \ }
-                \ })
-    autocmd MyAutoCmd BufNewFile *.rb Template template
-    autocmd MyAutoCmd BufNewFile *.ps1 Template template
-    autocmd MyAutoCmd BufNewFile *.cmd Template template
-    function! neobundle#tapped.hooks.on_source(bundle)
-        let g:sonictemplate_vim_template_dir = $MY_VIMRUNTIME . '/template'
-    endfunction
-endif"}}}
-
-if neobundle#tap('vim-fugitive') "{{{"{{{
-    call neobundle#config({
-                \ 'augroup': 'fugitive',
-                \ 'autoload': {
-                \   'commands': ['Git', 'Gcd', 'Glcd', 'Gstatus', 'Gcommit', 'Ggrep', 'Glgrep',
-                \                'Glog', 'Gllog', 'Gedit', 'Gsplit', 'Gvsplit', 'Gtabedit',
-                \                'Gpedit', 'Gread', 'Gwrite', 'Gwq', 'Gdiff', 'Gsdiff', 'Gvdiff',
-                \                'Gmove', 'Gremove', 'Gblame', 'Gbrowse']
-                \ }
-                \ })
-
-    nnoremap [Space]gd :<C-u>Gdiff<Enter>
-    nnoremap [Space]gs :<C-u>Gstatus<Enter>
-    nnoremap [Space]gl :<C-u>Glog<Enter>
-    nnoremap [Space]ga :<C-u>Gwrite<Enter>
-    nnoremap [Space]gc :<C-u>Gcommit<Enter>
-    nnoremap [Space]gC :<C-u>Git commit --amend<Enter>
-    nnoremap [Space]gp :<C-u>Git pull --rebase<Enter>
-    nnoremap [Space]gb :<C-u>Gblame<Enter>
-    function! neobundle#tapped.hooks.on_post_source(bundle)
-        doautoall fugitive BufNewFile
-    endfunction
-endif"}}}
-
-if neobundle#tap('vim-quickrun')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'mappings': [['sxn', '<Plug>(quickrun']],
-                \   'commands': [{'complete': 'customlist,quickrun#complete', 'name': 'QuickRun'}]
-                \ }
-                \ })
-    nnoremap <Leader>r <Plug>(quickrun)
-    function! neobundle#tapped.hooks.on_source(bundle)
-        " quickrunの最終的なコマンドを出力する"{{{
-        " http://d.hatena.ne.jp/osyo-manga/searchdiary?word=quickrun
-        let s:hook = {
-                    \   "name": "output_command",
-                    \   "kind": "hook",
-                    \   "config": {
-                    \       "enable": 0,
-                    \       "log": 0
-                    \   }
-                    \ }
-
-        function! s:hook.on_ready(session, context)
-            HierClear
-            for command in a:session.commands
-                execute self.config.log ? "echom command" : "echo command"
-            endfor
-        endfunction
-
-        call quickrun#module#register(s:hook, 1)
-        unlet s:hook"}}}
-
-        " TypeScript reference pathを読み込んでコンパイル"{{{
-        let s:hook = {
-                    \ "name": "typescript_compile",
-                    \ "kind": "hook",
-                    \ "config": {
-                    \       "enable": 0
-                    \  }
-                    \ }
-        function! s:hook.on_module_loaded(session, context)
-            let references = []
-            for line in readfile(a:session.config.srcfile, '', 15)
-                if line =~ '^///<reference path='
-                    "echom 'reference : ' . line[stridx(line, '"') + 1 : -4]
-                    if line[stridx(line, '"') + 1 : -4] !~ 'lib.d.ts'
-                        call add(references, line[stridx(line, '"') + 1 : -4])
-                    endif
-                endif
-            endfor
-            "echom 'exec : %c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
-            let a:session.config.exec = '%c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
-        endfunction
-        call quickrun#module#register(s:hook, 1)
-        unlet s:hook"}}}
-
-        " coffeescript import を読み込んでコンパイル"{{{
-        let s:hook = {
-                    \ "name": "coffeescript_compile",
-                    \ "kind": "hook",
-                    \ "config": {
-                    \       "enable": 0
-                    \  }
-                    \ }
-        function! s:hook.on_module_loaded(session, context)
-            let imports = []
-            for line in readfile(a:session.config.srcfile, '', 15)
-                if line =~ '^# import'
-                    "echom 'import : ' . line[10 : -2]
-                    call add(imports, line[10 : -2])
-                endif
-            endfor
-            "echom 'exec : %c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
-            let a:session.config.exec = '%c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
-        endfunction
-        call quickrun#module#register(s:hook, 1)
-        unlet s:hook"}}}
-
-        " コンパイル後にヘッダ等を追加"{{{
-        let s:hook = {
-                    \ "name": "js2cmd",
-                    \ "kind": "hook",
-                    \ "config": {
-                    \       "enable": 0
-                    \  }
-                    \ }
-        function! s:hook.on_success(session, context)
-            let list = []
-            call add(list, "@if(0)==(0) ECHO OFF")
-            for line in readfile(a:session.config.srcfile, '', 10)
-                if line =~ '^//' || line =~ '^#'
-                    if line[3 : 4] =~ 'OP' || line[2 : 3] =~ 'OP'
-                        "echom 'option : ' . line[stridx(line, '"') + 1 : -2]
-                        if line[stridx(line, '"') + 1 : -2] =~ '^pushd'
-                            call add(list, "    pushd \"%~dp0\" > nul")
-                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
-                            call add(list, "    popd > nul")
-                            break
-                        else
-                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
-                            break
-                        endif
-                    endif
-                endif
-            endfor
-            call add(list, "pause")
-            call add(list, "GOTO :EOF")
-            call add(list, "@end")
-            call add(list, "")
-            let inJs = fnamemodify(a:session.config.srcfile, ":p:r") . '.js'
-            let outCmd = fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd/'
-                        \ . fnamemodify(a:session.config.srcfile, ":t:r") .'.cmd'
-            "echom inJs
-            "echom outCmd
-            let utf8List = list + readfile(inJs, 'b')
-            let cp932List = []
-            for line in utf8List
-                "call add(cp932List, iconv(line, "UTF-8", "CP932"))
-                call add(cp932List, iconv(substitute(line, "\n", "\r\n", "",), "UTF-8", "CP932"))
-            endfor
-            if isdirectory(fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd')
-                call writefile(cp932List, outCmd, 'b')
-                if has('win32') || has('win64')
-                    "call {s:system}('del ' . inJs)
-                    call {s:system}('unix2dos ' . outCmd)
-                else
-                    "call {s:system}('rm ' . inJs)
-                    call {s:system}('nkf --windows --overwrite ' . outCmd)
-                endif
-            else
-                echom fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd' . 'is not found !'
-            endif
-        endfunction
-
-        call quickrun#module#register(s:hook, 1)
-        unlet s:hook"}}}
-
-        let g:quickrun_config = {}
-        let g:quickrun_config = {
-                    \   "_": {
-                    \       "hook/output_command/enable": 0,
-                    \       "hook/output_command/log": 1,
-                    \       "hook/close_unite_quickfix/enable_hook_loaded": 1,
-                    \       "hook/unite_quickfix/enable_failure": 1,
-                    \       "hook/close_quickfix/enable_exit": 1,
-                    \       "hook/close_buffer/enable_failure": 1,
-                    \       "hook/close_buffer/enable_empty_data": 1,
-                    \       "hook/echo/enable": 1,
-                    \       "hook/echo/output_success": "success!!!",
-                    \       "hook/echo/output_failure": "failure...",
-                    \       "outputter": "multi:buffer:quickfix",
-                    \       "outputter/buffer/split": ":botright 18sp",
-                    \       "runner": "vimproc",
-                    \       "runner/vimproc/updatetime": 40
-                    \   },
-                    \ "typescript": {
-                    \       "commad": "tsc",
-                    \       "cmdopt": "--nolib --out",
-                    \       "exec"  : "%c %s _lib.ts %o %s:p:r.js",
-                    \       "hook/typescript_compile/enable": 1,
-                    \       "hook/js2cmd/enable": 1,
-                    \       "hook/output_command/log": 1
-                    \   },
-                    \ "plantuml": {
-                    \       "command": "java",
-                    \       "cmdopt": "-jar plantuml.jar -tpng",
-                    \       "exec": "%c %o %s"
-                    \   },
-                    \ "blockdiag": {
-                    \       "command": "blockdiag",
-                    \       "cmdopt": "-Tsvg",
-                    \       "exec": "%c %o %s"
-                    \   },
-                    \ "rst": {
-                    \       "command": "make",
-                    \       "cmdopt": "html",
-                    \       "exec": "%c %o"
-                    \ }
-                    \ }
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('vim-coffee-script')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'filetypes': ['coffee']
-                \ }
-                \ })
-    function! neobundle#tapped.hooks.on_source(bundle)
-        let coffee_compile_vert = 1
-        let coffee_make_options = '--bare'
-    endfunction
-    call neobundle#untap()
-endif"}}}
-
-if neobundle#tap('jedi-vim')"{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'commands': [{'complete': 'custom,jedi#py_import_completions', 'name': 'Pyimport'},
-                \                'Python'],
-                \   'filetypes': ['python', 'python3']
-                \ }
-                \ })
-    function! neobundle#tapped.hooks.on_source(bundle)
-        let g:jedi#auto_initialization = 1
-        let g:jedi#auto_vim_configuration = 0
-        let g:jedi#goto_assignments_command = '<Leader>G'
-        let g:jedi#popup_select_first = 0
-        let g:jedi#rename_command = '<Leader>R'
-        let g:jedi#show_call_signatures = 1
-        "let g:jedi#popup_on_dot = 1
-        autocmd MyAutoCmd FileType python let b:did_ftplugin = 1
-    endfunction
-endif"}}}
-
-" ag.vim {{{
-let s:hooks = neobundle#get_hooks("ag.vim")
-function! s:hooks.on_source(bundle)
-
-endfunction
-unlet s:hooks
-" }}}
-
-" vim-ref {{{
-let s:hooks = neobundle#get_hooks("vim-ref")
-function! s:hooks.on_source(bundle)
-  function! UniteRefDoc()
-    if &filetype =~ 'perl'
-      Unite ref/perldoc
-    elseif &filetype =~ 'python'
-      Unite -start-insert ref/pydoc
-    elseif &filetype =~ 'ruby'
-      Unite ref/refe
-    else
-      Unite ref/man
-    endif
-  endfunction
-  nnoremap [Space]r :<C-u>call UniteRefDoc()<CR>
-endfunction
-unlet s:hooks
-" }}}
-
-" J6uil {{{
-let s:hooks = neobundle#get_hooks("J6uil.vim")
-function! s:hooks.on_source(bundle)
-  let g:J6uil_user     = 'yuyunko'
-  let g:J6uil_password = 'hero1985'
-endfunction
-unlet s:hooks
-" }}}
-
-" TaskList {{{
-"nnoremap <Leader>T <Plug>TaskList
-" }}}
-
-" tagbar {{{
-nnoremap <Leader>t :<C-u>TagbarToggle<CR>
-let s:hooks = neobundle#get_hooks("tagbar")
-function! s:hooks.on_source(bundle)
-  let g:tagbar_type_scala = {
-        \ 'ctagstype' : 'Scala',
-        \ 'kinds'     : [
-        \   'p:packages:1',
-        \   'V:values',
-        \   'v:variables',
-        \   'T:types',
-        \   't:traits',
-        \   'o:objects',
-        \   'a:aclasses',
-        \   'c:classes',
-        \   'r:cclasses',
-        \   'm:methods'
-        \ ]
-        \ }
-  let g:tagbar_type_ruby = {
-        \ 'kinds' : [
-        \   'm:modules',
-        \   'c:classes',
-        \   'd:describes',
-        \   'C:contexts',
-        \   'f:methods',
-        \   'F:singleton methods'
-        \ ]
-        \ }
-  let g:tagbar_type_markdown = {
-        \ 'ctagstype' : 'markdown',
-        \ 'kinds' : [
-        \   'h:Heading_L1',
-        \   'i:Heading_L2',
-        \   'k:Heading_L3'
-        \ ]
-        \ }
-  let g:tagbar_type_css = {
-        \ 'ctagstype' : 'Css',
-        \ 'kinds'     : [
-        \   'c:classes',
-        \   's:selectors',
-        \   'i:identities'
-        \ ]
-        \ }
-  if executable('coffeetags')
-    let g:tagbar_type_coffee = {
-          \ 'ctagsbin' : 'coffeetags',
-          \ 'ctagsargs' : '',
-          \ 'kinds' : [
-          \   'f:functions',
-          \   'o:object',
-          \ ],
-          \ 'sro' : ".",
-          \ 'kind2scope' : {
-          \   'f' : 'object',
-          \   'o' : 'object',
-          \ }
-          \ }
-  endif
-
-  " Posix regular expressions for matching interesting items. Since this will
-  " be passed as an environment variable, no whitespace can exist in the options
-  " so [:space:] is used instead of normal whitespaces.
-  " Adapted from: https://gist.github.com/2901844
-  let s:ctags_opts = '
-        \ --langdef=coffee
-        \ --langmap=coffee:.coffee
-        \ --regex-coffee=/(^|=[ \t])*class ([A-Za-z_][A-Za-z0-9_]+\.)*([A-Za-z_][A-Za-z0-9_]+)( extends ([A-Za-z][A-Za-z0-9_.]*)+)?$/\3/c,class/
-        \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?(([A-Za-z][A-Za-z0-9_.]*)+):.*[-=]>.*$/\3/m,method/
-        \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=.*[-=]>.*$/\3/f,function/
-        \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/v,variable/
-        \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/f,field/
-        \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,static field/
-        \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?/\3/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){0}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){1}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){2}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){3}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){4}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){5}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){6}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){7}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){8}/\8/f,field/
-        \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){9}/\8/f,field/'
-
-  let $CTAGS = substitute(s:ctags_opts, '\v\([nst]\)', '\\', 'g')
-endfunction
-unlet s:hooks
-" }}}
-
-" SrcExpl {{{
-" // The switch of the Source Explorer
-nmap <F8> :SrcExplToggle<CR>
-let s:hooks = neobundle#get_hooks("SrcExpl.git")
-function! s:hooks.on_source(bundle)
-
-  " // Set the height of Source Explorer window
-  let g:SrcExpl_winHeight = 8
-
-  " // Set 100 ms for refreshing the Source Explorer
-  let g:SrcExpl_refreshTime = 100
-
-  " // Set "Enter" key to jump into the exact definition context
-  let g:SrcExpl_jumpKey = "<ENTER>"
-
-  " // Set "Space" key for back from the definition context
-  let g:SrcExpl_gobackKey = "<SPACE>"
-
-  " // In order to Avoid conflicts, the Source Explorer should know what plugins
-  " // are using buffers. And you need add their bufname into the list below
-  " // according to the command ":buffers!"
-  let g:SrcExpl_pluginList = [
-        \ "__Tag_List__",
-        \ "_NERD_tree_",
-        \ "Source_Explorer"
-        \ ]
-
-  " // Enable/Disable the local definition searching, and note that this is not
-  " // guaranteed to work, the Source Explorer doesn't check the syntax for now.
-  " // It only searches for a match with the keyword according to command 'gd'
-  let g:SrcExpl_searchLocalDef = 1
-
-  " // Do not let the Source Explorer update the tags file when opening
-  let g:SrcExpl_isUpdateTags = 0
-
-  " // Use 'Exuberant Ctags' with '--sort=foldcase -R .' or '-L cscope.files' to
-  " // create/update a tags file
-  let g:SrcExpl_updateTagsCmd = "ctags --sort=foldcase -R ."
-
-  " // Set "<F12>" key for updating the tags file artificially
-  "let g:SrcExpl_updateTagsKey = "<F12>"
-
-  " // Set "<F3>" key for displaying the previous definition in the jump list
-  let g:SrcExpl_prevDefKey = "<F3>"
-
-  " // Set "<F4>" key for displaying the next definition in the jump list
-  let g:SrcExpl_nextDefKey = "<F4>"
-endfunction
-unlet s:hooks
-" }}}
-
-" qfixhowm {{{
-" ファイル拡張子をmkdにする
-let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.md'
-" ファイルタイプをmarkdownにする
-let QFixHowm_FileType = 'markdown'
-" タイトル記号
-let QFixHowm_Title = '#'
-" タイトル行検索正規表現の辞書を初期化
-let QFixMRU_Title = {}
-" MRUでタイトル行とみなす正規表現(Vimの正規表現で指定)
-let QFixMRU_Title['mkd'] = '^###[^#]'
-" grepでタイトル行とみなす正規表現(使用するgrepによっては変更する必要があります)
-let QFixMRU_Title['mkd_regxp'] = '^###[^#]'
-" howm_dir
-let howm_dir = $HOME . '/.howm'
-" }}}
-
-" CtrlP {{{
-nnoremap [Space]p :<C-u>CtrlP<CR>
-" }}}
-
-" vim-airline {{{
-"let g:airline_symbols = {}
-"" unicode symbols
-"let g:airline_left_sep = '»'
-"let g:airline_left_sep = '▶'
-"let g:airline_right_sep = '«'
-"let g:airline_right_sep = '◀'
-"let g:airline_symbols.linenr = '␊'
-"let g:airline_symbols.linenr = '␤'
-"let g:airline_symbols.linenr = '¶'
-"let g:airline_symbols.branch = '⎇'
-"let g:airline_symbols.paste = 'ρ'
-"let g:airline_symbols.paste = 'Þ'
-"let g:airline_symbols.paste = '∥'
-"let g:airline_symbols.whitespace = 'Ξ'
-""let g:airline_theme='molokai'
-"let g:airline#extensions#tagbar#enabled = 1
-"let g:airline#extensions#tabline#enabled = 1
-"let g:airline#extensions#syntastic#enabled = 1
-""let g:airline#extensions#bufferline#enabled = 1
-""let g:airline#extensions#bufferline#overwrite_variables = 1
-"let g:airline_enable_branch = 0
-"let g:airline_section_b = "%t %M"
-""let g:airline_section_c = ''
-"" vim-anzuの表示を statuslineに
-""let g:airline_section_c = '%F %{anzu#search_status()}'
-"let s:sep = " %{get(g:, 'airline_right_alt_sep', '')} "
-"let g:airline_section_x =
-"    \ "%{strlen(&fileformat)?&fileformat:''}".s:sep.
-"    \ "%{strlen(&fenc)?&fenc:&enc}".s:sep.
-"    \ "%{strlen(&filetype)?&filetype:'no ft'}"
-"let g:airline_section_y = '%3p%%'
-"let g:airline_section_z = get(g:, 'airline_linecolumn_prefix', '').'%3l:%-2v'
-"" whitespace無効
-"let g:airline#extensions#whitespace#enabled = 0
-" }}}
-
-" landscape {{{
-"let g:Powerline_theme = 'landscape'
-"let g:Powerline_colorscheme = 'landscape'
-"let g:airline_theme = 'landscape'
-" }}}
-
-" errormarker {{{
-let errormarker_disablemappings = 1
-" }}}
-
-" vim-watchdogs {{{
-let s:hooks = neobundle#get_hooks("vim-watchdogs")
-function! s:hooks.on_source(bundle)
-  let g:quickrun_config = {
-        \
-        \ "watchdogs_checker/coffeelint": {
-        \   "command": "coffeelint",
-        \   "exec": "%c %s:p"
-        \ },
-        \ "coffee/watchdogs_checker": {
-        \   "type": "watchdogs_checker/coffee"
-        \ }
-        \ }
-  " 書き込み後にシンタックスチェックを行う
-  let g:watchdogs_check_BufWritePost_enable = 1
-
-  " filetype ごとに有効無効を設定することも出来る
-  let g:watchdogs_check_BufWritePost_enables = {
-        \ "cpp": 0,
-        \ "haskell": 1,
-        \ "zsh": 0,
-        \ "python": 0,
-        \ "scss": 0,
-        \ "coffee": 0
-        \ }
-
-  " こっちは一定時間キー入力がなかった場合にシンタックスチェックを行う
-  " バッファに書き込み後、1度だけ行われる
-  let g:watchdogs_check_CursorHold_enable = 1
-
-  " filetype ごとに有効無効を設定することも出来る
-  let g:watchdogs_check_CursorHold_enables = {
-        \ "coffee": 0,
-        \ "python": 0,
-        \ "scss": 0
-        \ }
-endfunction
-unlet s:hooks
-" }}}
-
-" vim-automatic {{{
-" http://blog.supermomonga.com/articles/vim/automatic.html
-function! s:my_temporary_window_init(config, context)
-  silent! nunmap <ESC><ESC>
-  nmap <buffer> <C-[> :<C-u>q<CR>
-  nmap <buffer> <ESC> :<C-u>q<CR>
-endfunction
-
-let g:automatic_default_match_config = {
-      \   'is_open_other_window': 1
-      \ }
-let g:automatic_default_set_config = {
-      \   'apply': function('s:my_temporary_window_init'),
-      \   'height': "40%",
-      \   'move': "bottom"
-      \ }
-let g:automatic_config = [
-      \   {'match': {'buftype': 'help'}},
-      \   {'match': {'bufname': '^.vimshell'}},
-      \   {'match': {'bufname': 'MacDict.*'}},
-      \   {
-      \       'match': {
-      \           'filetype' : 'unite',
-      \           'autocmds': ['FileType']
-      \       },
-      \       'set': {
-      \           'unsettings': ['move', 'resize']
-      \       }
-      \   },
-      \   {
-      \       'match': {
-      \           'filetype': 'qf',
-      \           'autocmds': ['FileType']
-      \       },
-      \   },
-      \   {
-      \       'match': {
-      \           'filetype': '\v^ref-.+',
-      \           'autocmds': ['FileType']
-      \       }
-      \   },
-      \   {
-      \       'match': {
-      \           'bufname': '\[quickrun output\]'
-      \       },
-      \       'set': {
-      \           'height': 8
-      \       }
-      \   },
-      \   {
-      \       'match': {
-      \           'autocmds': ['CmdwinEnter']
-      \       },
-      \       'set': {
-      \           'is_close_focus_out': 1,
-      \           'unsettings': ['move', 'resize']
-      \       }
-      \   }
-      \ ]
-" }}}
-
-" macdict-vim {{{
-if s:is_darwin
-  nnoremap [Space]d :<C-u>MacDictCWord<CR>
-endif
-" }}}
-
-" vim-endwise {{{
-"let s:hooks = neobundle#get_hooks("vim-endwise")
-"function! s:hooks.on_source(bundle)
-"let g:endwise_no_mappings = 1
-"endfunction
-" }}}
-
-" go {{{
-let s:hooks = neobundle#get_hooks("vim-golang")
-function! s:hooks.on_source(bundle)
-  set rtp+=$GOROOT/misc/vim
-  exe "set rtp+=" . globpath($GOPATH, "src/github.com/nsf/gocode/vim")
-  setl completeopt=menu,preview
-  " golint
-  exe "set rtp+=" . globpath($GOPATH, "src/github.com/golang/lint/misc/vim")
-  au BufWritePre *.go Fmt
-endfunction
-unlet s:hooks
-" }}}
-
-" haskell {{{
-let s:hooks = neobundle#get_hooks("ghcmod-vim")
-function! s:hooks.on_source(bundle)
-  autocmd MyAutoCmd BufWritePost <buffer> GhcModCheckAsync
-endfunction
-unlet s:hooks
-" }}}
-
-" yankround {{{
-nmap p <Plug>(yankround-p)
-nmap P <Plug>(yankround-P)
-nmap <C-p> <Plug>(yankround-prev)
-nmap <C-n> <Plug>(yankround-next)
-let g:yankround_max_history = 50
-nnoremap <silent>g<C-p> :<C-u>CtrlPYankRound<CR>
-" }}}
-
-" vim-over {{{
-nnoremap <silent> <Leader>o :<C-u>OverCommandLine<CR>%s/
-" }}}
-
-if neobundle#tap('nebula.vim') "{{{
-    call neobundle#config({
-                \ 'autoload': {
-                \   'commands': ['NebulaPutLazy', 'NebulaPutFromClipboard', 'NebulaYankOptions',
-                \                'NebulaPutConfig', 'NebulaYankTap']
-                \ }
-                \ })
-endif
-"}}}
-
-"===================================================================================}}}
-
-"{{{ ========== Language Settings =====================================================
-" python
-"http://d.hatena.ne.jp/over80/20090305/1236264851#20090305f1
-autocmd MyAutoCmd FileType python setl autoindent smartindent
-      \ cinwords=if,elif,else,for,while,try,except,finally,def,class
-      \ tabstop=8 expandtab shiftwidth=4 softtabstop=4
-      \ foldmethod=indent foldlevel=99
-" autoread for coffee
-" 適当なタイミングで再読み込み
-autocmd MyAutoCmd CursorHold *.cmd checktime
-autocmd MyAutoCmd CursorHold *.js checktime
-autocmd MyAutoCmd CursorMoved *.cmd checktime
-autocmd MyAutoCmd CursorMoved *.js checktime
-
-" ファイルタイプ
-autocmd MyAutoCmd BufNewFile,BufRead *.cmd setl ft=ps1 fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.hta setl ft=html fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.sql setl fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.bat setl fenc=cp932 ff=dos
-autocmd MyAutoCmd BufNewFile,BufRead *.ts setl ft=typescript fenc=utf8 ff=unix
-autocmd MyAutoCmd BufNewFile,BufRead *.coffee setl ft=coffee fenc=utf8 ff=unix
-      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
-autocmd MyAutoCmd BufNewFile,BufRead *.js setl ft=javascript fenc=utf8 ff=unix
-      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
-autocmd MyAutoCmd BufNewFile,BufRead *.uml setl fenc=cp932 ff=dos ft=plantuml
-autocmd MyAutoCmd BufNewFile,BufRead *.diag setl fenc=utf8 ff=unix ft=blockdiag
-autocmd MyAutoCmd BufNewFile,BufRead *.md setl ft=markdown
-autocmd MyAutoCmd BufNewFile,BufRead *.rst setl tabstop=8 shiftwidth=3 softtabstop=3 expandtab
-autocmd MyAutoCmd BufNewFile,BufRead *.jade setl ft=jade
-autocmd MyAutoCmd BufNewFile,BufRead *.styl setl ft=stylus tabstop=8 shiftwidth=2
-      \ softtabstop=2 expandtab
-autocmd MyAutoCmd bufnewfile,bufread *.scpt,*.applescript setl filetype=applescript
-autocmd MyAutoCmd bufnewfile,bufread *.scala setl ft=scala
-autocmd MyAutoCmd bufnewfile,bufread *.rb setl ft=ruby fenc=utf8 ff=unix
-"===================================================================================}}}
-
-"{{{ ========== Temp Settings =========================================================
-" 行末の余分な改行を削除
-"autocmd MyAutoCmd BufWritePre * call RTrim()
-function! RTrim()
-  let save_cursor = getpos(".")
-  %s/\s\+$//e
-  call setpos(".", save_cursor)
-endfunction
-
-" 保存時にインデントをフォーマット
-"autocmd MyAutoCmd BufWrite * call Format()
-function! Format()
-  "let save_cursor = getpos(".")
-  let save_view = winsaveview()
-  normal gg=G
-  "call setpos('.', save_cursor)
-  call winrestview(save_view)
-  "normal zz
-endfunction
-nnoremap [Space]f :call Format()<CR>
-
-" Windowsで、ieで開く
-if s:is_windows
-  function! IeStart()
-    silent ! start iexplore "%:p"
-  endfunction
-endif
-" Windowsで、firefoxで開く
-if s:is_windows
-  function! Firefox()
-    silent ! start firefox "%:p"
-  endfunction
-endif
-
-" ブラウザでプレビュー
-function! Preview()
-  if s:is_windows
-    silent ! start chrome "%:p"
-    "silent ! start firefox "%:p"
-  elseif s:is_darwin
-    silent ! open "%:p"
-  else
-    silent ! firefox "%:p"
-  endif
-endfunction
-nnoremap <Leader>p :call Preview()<CR>
-
-" 範囲選択検索置き換え
-" http://vim-users.jp/2009/11/hack104/
-vnoremap <silent> * "vy/\V<C-r>=substitute(escape(@v,'\/'),"\n",'\\n','g')<CR><CR>
-
-" vimrc簡単編集
-" Vim-users.jp - Hack #74: 簡単にvimrcを編集する http://vim-users.jp/2009/09/hack74/
-nnoremap <silent> [Space]ev  :<C-u>tabedit $MYVIMRC<CR>
-nnoremap <silent> [Space]eg  :<C-u>tabedit $MYGVIMRC<CR>
-
-" Load .gvimrc after .vimrc edited at GVim.
-"nnoremap <silent> [Space]rv :<C-u>source $MYVIMRC \| if has('gui_running') \| source $MYGVIMRC \| endif <CR>
-"nnoremap <silent> [Space]rg :<C-u>source $MYGVIMRC<CR>
-
-" JunkFile {{{
-" http://vim-users.jp/2010/11/hack181/
-"" Open junk file.
-"command! -nargs=0 JunkFile call s:open_junk_file()
-"function! s:open_junk_file()
-"let l:junk_dir = $HOME . '/.vim_junk'. strftime('/%Y/%m')
-"if !isdirectory(l:junk_dir)
-"call mkdir(l:junk_dir, 'p')
-"endif
-
-"let l:filename = input('Junk Code: ', l:junk_dir.strftime('/%Y-%m-%d-%H%M%S.'))
-"if l:filename != ''
-"execute 'edit ' . l:filename
-"endif
-"endfunction
-" }}}
-
-" コマンドラインを使わず，コマンドラインウィンドウを使う {{{
-" http://vim-users.jp/2010/07/hack161/
-" No Command-line window by Shougo http://vim-users.jp/2010/07/hack161/
-"set cmdwinheight=13
-"nnoremap <sid>(command-line-enter) q:
-"xnoremap <sid>(command-line-enter) q:
-"nnoremap <sid>(command-line-norange) q:<C-u>
-
-"nmap :  <sid>(command-line-enter)
-"xmap :  <sid>(command-line-enter)
-
-"" I added
-""nnoremap q: q:<Esc>
-
-"autocmd MyAutoCmd CmdwinEnter * call s:init_cmdwin()
-"" ESCキーを2回押すと終了する
-"au MyAutoCmd CmdwinEnter * nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
-"au MyAutoCmd CmdwinEnter * inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
-
-"" I added
-"au MyAutoCmd CmdwinEnter :  let b:cpt_save = &cpt | set cpt=.
-"au MyAutoCmd CmdwinLeave :  let &cpt = b:cpt_save
-
-"" MacVim is shit
-"autocmd MyAutoCmd CmdwinEnter * nnoremap <buffer><expr> <Cr> CmdwinRun()
-"autocmd MyAutoCmd CmdwinEnter * inoremap <buffer><expr> <Cr> CmdwinRun()
-"function! CmdwinRun()
-"let a = getline(line('.'))
-"return "\<Esc>\<C-c>\<C-c>:" . a . "\<Cr>"
-"endfunction
-
-"function! s:init_cmdwin()
-"nnoremap <buffer> q :<C-u>quit<CR>
-"nnoremap <buffer> <TAB> :<C-u>quit<CR>
-"inoremap <buffer><expr><CR> pumvisible() ? "\<C-y>\<CR>" : "\<CR>"
-"inoremap <buffer><expr><C-h> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-""inoremap <buffer><expr><BS> pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-""I added
-"inoremap <buffer><expr><BS> col('.') == 1 ? "\<ESC>:quit\<CR>" : pumvisible() ? "\<C-y>\<C-h>" : "\<C-h>"
-"inoremap <buffer><expr>: col('.') == 1 ? "VimProcBang " : ":"
-""inoremap <buffer><expr> \  smartchr#one_of('~/', '\')
-
-"" Completion.
-"inoremap <buffer><expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
-
-"" HootSuite
-""inoreabbrev <buffer> c: ./core/mvc/controllers/mobile/
-""inoreabbrev <buffer> v: ./core/mvc/views/mobile/
-
-"startinsert!
-"endfunction
-" }}}
-
-"Vim-users.jp - Hack #78: CSVの特定のカラムをハイライトする {{{
-"http://vim-users.jp/2009/09/hack78/
-function! CSVH(x)
-  execute 'match Keyword /^\([^,]*,\)\{'.a:x.'}\zs[^,]*/'
-  execute 'normal ^'.a:x.'f,'
-endfunction
-command! -nargs=1 Csvhl :call CSVH(<args>)
-" }}}
-
-" 縦に連番を入力する http://d.hatena.ne.jp/osyo-manga/20120326/1332688467 {{{
-nnoremap <silent> co :ContinuousNumber <C-a><CR>
-vnoremap <silent> co :ContinuousNumber <C-a><CR>
-command! -count -nargs=1 ContinuousNumber let c = col('.')
-      \| for n in range(1, <count>?<count>-line('.'):1)
-        \| exec 'normal! j' . n . <q-args>|call cursor('.', c)
-        \| endfor
-" }}}
-
-" Hack #202: 自動的にディレクトリを作成する {{{
-" http://vim-users.jp/2011/02/hack202/
-autocmd MyAutoCmd BufWritePre * call s:auto_mkdir(expand('<afile>:p:h'), v:cmdbang)
-function! s:auto_mkdir(dir, force)
-  if !isdirectory(a:dir) && (a:force ||
-        \    input(printf('"%s" does not exist. Create? [y/N]', a:dir)) =~? '^y\%[es]$')
-    call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
-  endif
-endfunction
-" }}}
-
-" Hack #62: カーソル下のキーワードをバッファ内全体で置換する {{{
-" http://vim-users.jp/2009/08/hack62/
-nnoremap <expr> s* ':%substitute/\<' . expand('<cword>') . '\>/'
-" }}}
-
-" Capture {{{
-" https://gist.github.com/369112#file-vimrc
-command!
-      \ -nargs=+ -bang
-      \ -complete=command
-      \ Capture
-      \ call s:cmd_capture([<f-args>], <bang>0)
-
-function! C(cmd)
-  redir => result
-  silent execute a:cmd
-  redir END
-  return result
-endfunction
-
-function! s:cmd_capture(args, banged)
-  new
-  silent put =C(join(a:args))
-  1,2delete _
-endfunction
-" }}}
-
-"" 'cursorline' を必要な時にだけ有効にする - 永遠に未完成 {{{
-" http://d.hatena.ne.jp/thinca/20090530/1243615055
-autocmd MyAutoCmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved')
-autocmd MyAutoCmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold')
-autocmd MyAutoCmd WinEnter * call s:auto_cursorline('WinEnter')
-autocmd MyAutoCmd WinLeave * call s:auto_cursorline('WinLeave')
-
-let s:cursorline_lock = 0
-function! s:auto_cursorline(event)
-  if a:event ==# 'WinEnter'
-    setlocal cursorline
-    setlocal cursorcolumn
-    let s:cursorline_lock = 2
-  elseif a:event ==# 'WinLeave'
-    setlocal nocursorline
-    setlocal nocursorcolumn
-  elseif a:event ==# 'CursorMoved'
-    if s:cursorline_lock
-      if 1 < s:cursorline_lock
-        let s:cursorline_lock = 1
-      else
-        setlocal nocursorline
-        setlocal nocursorcolumn
-        let s:cursorline_lock = 0
-      endif
-    endif
-  elseif a:event ==# 'CursorHold'
-    setlocal cursorline
-    setlocal cursorcolumn
-    let s:cursorline_lock = 1
-  endif
-endfunction
-" }}}
-
-" Scala コンパイル {{{
-" http://vim-users.jp/2013/02/vim-advent-calendar-2012-ujihisa-4/
-function! s:ujihisa_start_sbt()
-  execute 'VimShellInteractive sbt'
-  stopinsert
-  let t:sbt_bufname = bufname('%')
-  if !has_key(t:, 'sbt_cmds')
-    let t:sbt_cmds = [input('t:sbt_cmds[0] = ')]
-  endif
-  wincmd p
-endfunction
-
-command! -nargs=0 StartSBT call <SID>ujihisa_start_sbt()
-
-function! s:sbt_run()
-  let cmds = get(t:, 'sbt_cmds', 'run')
-
-  let sbt_bufname = get(t:, 'sbt_bufname')
-  if sbt_bufname !=# ''
-    call vimshell#interactive#set_send_buffer(sbt_bufname)
-    call vimshell#interactive#send(cmds)
-  else
-    echoerr 'try StartSBT'
-  endif
-endfunction
-
-function! s:vimrc_scala()
-  nnoremap <buffer> [Space]m :<C-u>write<Cr>:call <SID>sbt_run()<Cr>
-endfunction
-
-augroup vimrc_scala
-  autocmd!
-  autocmd FileType scala call s:vimrc_scala()
-  autocmd FileType scala nnoremap <buffer> [Space]st :<C-u>StartSBT<Cr>
-augroup END
-" }}}
-
-" 100桁目以降の色を変える {{{
-" http://blog.remora.cx/2013/06/source-in-80-columns-2.html
-noremap <Plug>(ToggleColorColumn)
-      \ :<c-u>let &colorcolumn = len(&colorcolumn) > 0 ? '' :
-      \   join(range(101, 9999), ',')<CR>
-
-" ノーマルモードの 'cc' に割り当てる
-nmap cc <Plug>(ToggleColorColumn)
-" }}}
-"===================================================================================}}}