add vim into dotfiles
authorPeng Li <seudut@gmail.com>
Mon, 22 Dec 2014 13:15:55 +0000 (21:15 +0800)
committerPeng Li <seudut@gmail.com>
Mon, 22 Dec 2014 13:15:55 +0000 (21:15 +0800)
vim/.gitignore [new file with mode: 0644]
vim/README.md [new file with mode: 0644]
vim/colors/hipster.vim [new file with mode: 0644]
vim/colors/molokai.vim [new file with mode: 0644]
vim/colors/molokai22.vim [new file with mode: 0644]
vim/install [new file with mode: 0755]
vim/syntax/tmux.vim [new file with mode: 0644]
vim/vimrc [new file with mode: 0644]

diff --git a/vim/.gitignore b/vim/.gitignore
new file mode 100644 (file)
index 0000000..a2566ca
--- /dev/null
@@ -0,0 +1,6 @@
+.VimBallRecord
+*.swp
+bundle/*
+plugin/*
+.vim-bookmarks
+temp/*
diff --git a/vim/README.md b/vim/README.md
new file mode 100644 (file)
index 0000000..d359f75
--- /dev/null
@@ -0,0 +1,5 @@
+vim
+===
+
+my new vim configureation files
+Refer https://github.com/connermcd/dotfiles.git and https://bitbucket.org/sjl/dotfiles
diff --git a/vim/colors/hipster.vim b/vim/colors/hipster.vim
new file mode 100644 (file)
index 0000000..28b20b3
--- /dev/null
@@ -0,0 +1,102 @@
+" --- hipster ---
+" Author: Conner McDaniel (connermcd.com)
+if version > 580
+   hi clear
+   if exists("syntax_on")
+      syntax reset
+   endif
+endif
+
+let g:colors_name = "hipster"
+set t_Co=256
+set background=dark
+
+" Vim >= 7.0 specific colors
+if version >= 700
+hi CursorLine     guifg=NONE      guibg=#32322f   guisp=NONE      gui=NONE   ctermfg=NONE   ctermbg=236    cterm=NONE
+hi CursorLineNr   guifg=#8a8a8a   guibg=#32322f   guisp=NONE      gui=NONE   ctermfg=245    ctermbg=236    cterm=NONE
+hi MatchParen     guifg=#eae788   guibg=#857b6f   guisp=NONE      gui=bold   ctermfg=228    ctermbg=101    cterm=bold
+hi PMenu          guifg=#dddddd   guibg=#423d35   guisp=#423d35   gui=NONE   ctermfg=253    ctermbg=238    cterm=NONE
+hi PMenuSbar      guifg=NONE      guibg=#848688   guisp=#848688   gui=NONE   ctermfg=NONE   ctermbg=102    cterm=NONE
+hi PMenuSel       guifg=#ffd700   guibg=#706070   guisp=#706070   gui=bold   ctermfg=220    ctermbg=242    cterm=bold
+hi PMenuThumb     guifg=NONE      guibg=#a4a5a8   guisp=#a4a5a8   gui=NONE   ctermfg=NONE   ctermbg=248    cterm=NONE
+endif
+
+" General colors
+hi Normal         guifg=#f9f8ff   guibg=#000000   guisp=NONE      gui=NONE   ctermfg=15     ctermbg=NONE   cterm=NONE
+hi Cursor         guifg=NONE      guibg=#cd6f5c   guisp=#cd6f5c   gui=NONE   ctermfg=NONE   ctermbg=173    cterm=NONE
+hi Visual         guifg=#c3c6ca   guibg=#554d4b   guisp=NONE      gui=NONE   ctermfg=251    ctermbg=239    cterm=NONE
+hi Visualnos      guifg=#c3c6ca   guibg=#303030   guisp=NONE      gui=NONE   ctermfg=251    ctermbg=236    cterm=NONE
+hi Search         guifg=#000000   guibg=#8dabcd   guisp=#8dabcd   gui=NONE   ctermfg=NONE   ctermbg=110    cterm=NONE
+hi Folded         guifg=#857b6f   guibg=#000000   guisp=NONE      gui=NONE   ctermfg=241    ctermbg=233    cterm=NONE
+hi StatusLineNC   guifg=NONE      guibg=#262626   guisp=#262626   gui=NONE   ctermfg=NONE   ctermbg=235    cterm=NONE
+hi VertSplit      guifg=#444444   guibg=#444444   guisp=NONE      gui=NONE   ctermfg=238    ctermbg=238    cterm=NONE
+hi StatusLineNC   guifg=#857b6f   guibg=#444444   guisp=NONE      gui=NONE   ctermfg=241    ctermbg=238    cterm=NONE
+hi LineNr         guifg=#595959   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=240    ctermbg=NONE   cterm=NONE
+hi SpecialKey     guifg=#87beeb   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=117    ctermbg=NONE   cterm=NONE
+hi WarningMsg     guifg=#bd4848   guibg=#f9f8ff   guisp=#f9f8ff   gui=bold   ctermfg=131    ctermbg=15     cterm=bold
+hi ErrorMsg       guifg=#bd5353   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=131    ctermbg=NONE   cterm=NONE
+hi MoreMsg        guifg=#ffff00   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=11     ctermbg=NONE   cterm=NONE
+
+" Diff highlighting
+hi DiffAdd        guifg=NONE      guibg=#301430   guisp=#3c664e   gui=NONE   ctermfg=NONE   ctermbg=236    cterm=NONE
+hi DiffDelete     guifg=#ad3838   guibg=#301430   guisp=#301430   gui=NONE   ctermfg=131    ctermbg=236    cterm=NONE
+hi DiffChange     guifg=NONE      guibg=#7e8c2d   guisp=#331833   gui=NONE   ctermfg=NONE   ctermbg=238    cterm=NONE
+
+" Syntax highlighting
+hi Keyword        guifg=#d6d69a   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=186    ctermbg=NONE   cterm=NONE
+hi Function       guifg=#bf9b76   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=137    ctermbg=NONE   cterm=NONE
+hi Constant       guifg=#44807d   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=66     ctermbg=NONE   cterm=NONE
+hi Number         guifg=#386175   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=66     ctermbg=NONE   cterm=NONE
+hi PreProc        guifg=#ad5234   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=131    ctermbg=NONE   cterm=NONE
+hi Statement      guifg=#418db3   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=67     ctermbg=NONE   cterm=NONE
+hi Identifier     guifg=#5f875f   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=65     ctermbg=NONE   cterm=NONE
+hi Type           guifg=#babaa2   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=144    ctermbg=NONE   cterm=NONE
+hi Special        guifg=#7a490d   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=3      ctermbg=NONE   cterm=NONE
+hi String         guifg=#7e8c2d   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=100    ctermbg=NONE   cterm=NONE
+hi Comment        guifg=#576157   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=241    ctermbg=NONE   cterm=NONE
+hi Todo           guifg=#a1481e   guibg=NONE      guisp=NONE      gui=NONE   ctermfg=130    ctermbg=NONE   cterm=NONE
+
+" Linking
+hi! link          FoldColumn      Folded
+hi! link          CursorColumn    CursorLine
+hi! link          Search          CursorLine
+hi! link          NonText         LineNr
+hi! link          DiffText        DiffChange
+hi! link          SpellBad        ErrorMsg
+hi! link          SpellCap        ErrorMsg
+hi! link          Error           ErrorMsg
+hi! link          Question        MoreMsg
+hi! link          htmlBold        Special
+hi! link          htmlItalic      Number
+hi! link          Title           Function
+
+" Unhighlighted:
+" CursorIM
+" CursorColumn
+" DiffText
+" Directory
+" FoldColumn
+" IncSearch
+" Menu
+" ModeMsg
+" MoreMsg
+" NonText
+" PmenuSbar
+" PmenuThumb
+" Question
+" Scrollbar
+" SignColumn
+" SpellBad
+" SpellLocal
+" SpellRare
+" TabLine
+" TabLineFill
+" TabLineSel
+" Tooltip
+" User1
+" User9
+" WildMenu
+" Links
+
+" vim: ts=3:sw=3:et
diff --git a/vim/colors/molokai.vim b/vim/colors/molokai.vim
new file mode 100644 (file)
index 0000000..6d97053
--- /dev/null
@@ -0,0 +1,276 @@
+" Vim color file
+"
+" Author: Tomas Restrepo <tomas@winterdom.com>
+" https://github.com/tomasr/molokai
+"
+" Note: Based on the Monokai theme for TextMate
+" by Wimer Hazenberg and its darker variant
+" by Hamish Stuart Macpherson
+"
+
+hi clear
+
+if version > 580
+    " no guarantees for version 5.8 and below, but this makes it stop
+    " complaining
+    hi clear
+    if exists("syntax_on")
+        syntax reset
+    endif
+endif
+let g:colors_name="molokai"
+
+if exists("g:molokai_original")
+    let s:molokai_original = g:molokai_original
+else
+    let s:molokai_original = 0
+endif
+
+
+hi Boolean         guifg=#AE81FF
+hi Character       guifg=#E6DB74
+hi Number          guifg=#AE81FF
+hi String          guifg=#E6DB74
+hi Conditional     guifg=#F92672               gui=bold
+hi Constant        guifg=#AE81FF               gui=bold
+hi Cursor          guifg=#000000 guibg=#F8F8F0
+hi iCursor         guifg=#000000 guibg=#F8F8F0
+hi Debug           guifg=#BCA3A3               gui=bold
+hi Define          guifg=#66D9EF
+hi Delimiter       guifg=#8F8F8F
+hi DiffAdd                       guibg=#13354A
+hi DiffChange      guifg=#89807D guibg=#4C4745
+hi DiffDelete      guifg=#960050 guibg=#1E0010
+hi DiffText                      guibg=#4C4745 gui=italic,bold
+
+hi Directory       guifg=#A6E22E               gui=bold
+hi Error           guifg=#E6DB74 guibg=#1E0010
+hi ErrorMsg        guifg=#F92672 guibg=#232526 gui=bold
+hi Exception       guifg=#A6E22E               gui=bold
+hi Float           guifg=#AE81FF
+hi FoldColumn      guifg=#465457 guibg=#000000
+hi Folded          guifg=#465457 guibg=#000000
+hi Function        guifg=#A6E22E
+hi Identifier      guifg=#FD971F
+hi Ignore          guifg=#808080 guibg=bg
+hi IncSearch       guifg=#C4BE89 guibg=#000000
+
+hi Keyword         guifg=#F92672               gui=bold
+hi Label           guifg=#E6DB74               gui=none
+hi Macro           guifg=#C4BE89               gui=italic
+hi SpecialKey      guifg=#66D9EF               gui=italic
+
+hi MatchParen      guifg=#000000 guibg=#FD971F gui=bold
+hi ModeMsg         guifg=#E6DB74
+hi MoreMsg         guifg=#E6DB74
+hi Operator        guifg=#F92672
+
+" complete menu
+hi Pmenu           guifg=#66D9EF guibg=#000000
+hi PmenuSel                      guibg=#808080
+hi PmenuSbar                     guibg=#080808
+hi PmenuThumb      guifg=#66D9EF
+
+hi PreCondit       guifg=#A6E22E               gui=bold
+hi PreProc         guifg=#A6E22E
+hi Question        guifg=#66D9EF
+hi Repeat          guifg=#F92672               gui=bold
+hi Search          guifg=#000000 guibg=#FFE792
+" marks
+hi SignColumn      guifg=#A6E22E guibg=#232526
+hi SpecialChar     guifg=#F92672               gui=bold
+hi SpecialComment  guifg=#7E8E91               gui=bold
+hi Special         guifg=#66D9EF guibg=bg      gui=italic
+if has("spell")
+    hi SpellBad    guisp=#FF0000 gui=undercurl
+    hi SpellCap    guisp=#7070F0 gui=undercurl
+    hi SpellLocal  guisp=#70F0F0 gui=undercurl
+    hi SpellRare   guisp=#FFFFFF gui=undercurl
+endif
+hi Statement       guifg=#F92672               gui=bold
+hi StatusLine      guifg=#455354 guibg=fg
+hi StatusLineNC    guifg=#808080 guibg=#080808
+hi StorageClass    guifg=#FD971F               gui=italic
+hi Structure       guifg=#66D9EF
+hi Tag             guifg=#F92672               gui=italic
+hi Title           guifg=#ef5939
+hi Todo            guifg=#FFFFFF guibg=bg      gui=bold
+
+hi Typedef         guifg=#66D9EF
+hi Type            guifg=#66D9EF               gui=none
+hi Underlined      guifg=#808080               gui=underline
+
+hi VertSplit       guifg=#808080 guibg=#080808 gui=bold
+hi VisualNOS                     guibg=#403D3D
+hi Visual                        guibg=#403D3D
+hi WarningMsg      guifg=#FFFFFF guibg=#333333 gui=bold
+hi WildMenu        guifg=#66D9EF guibg=#000000
+
+hi TabLineFill     guifg=#1B1D1E guibg=#1B1D1E
+hi TabLine         guibg=#1B1D1E guifg=#808080 gui=none
+
+if s:molokai_original == 1
+   hi Normal          guifg=#F8F8F2 guibg=#272822
+   hi Comment         guifg=#75715E
+   hi CursorLine                    guibg=#3E3D32
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#3E3D32
+   hi ColorColumn                   guibg=#3B3A32
+   hi LineNr          guifg=#BCBCBC guibg=#3B3A32
+   hi NonText         guifg=#75715E
+   hi SpecialKey      guifg=#75715E
+else
+   hi Normal          guifg=#F8F8F2 guibg=#1B1D1E
+   hi Comment         guifg=#7E8E91
+   hi CursorLine                    guibg=#293739
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#293739
+   hi ColorColumn                   guibg=#232526
+   hi LineNr          guifg=#465457 guibg=#232526
+   hi NonText         guifg=#465457
+   hi SpecialKey      guifg=#465457
+end
+
+"
+" Support for 256-color terminal
+"
+if &t_Co > 255
+   if s:molokai_original == 1
+      hi Normal                   ctermbg=234
+      hi CursorLine               ctermbg=235   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   else
+      hi Normal       ctermfg=252 ctermbg=233
+      hi CursorLine               ctermbg=234   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   endif
+   hi Boolean         ctermfg=135
+   hi Character       ctermfg=144
+   hi Number          ctermfg=135
+   hi String          ctermfg=144
+   hi Conditional     ctermfg=161               cterm=bold
+   hi Constant        ctermfg=135               cterm=bold
+   hi Cursor          ctermfg=16  ctermbg=253
+   hi Debug           ctermfg=225               cterm=bold
+   hi Define          ctermfg=81
+   hi Delimiter       ctermfg=241
+
+   hi DiffAdd                     ctermbg=24
+   hi DiffChange      ctermfg=181 ctermbg=239
+   hi DiffDelete      ctermfg=162 ctermbg=53
+   hi DiffText                    ctermbg=102 cterm=bold
+
+   hi Directory       ctermfg=118               cterm=bold
+   hi Error           ctermfg=219 ctermbg=89
+   hi ErrorMsg        ctermfg=199 ctermbg=16    cterm=bold
+   hi Exception       ctermfg=118               cterm=bold
+   hi Float           ctermfg=135
+   hi FoldColumn      ctermfg=67  ctermbg=16
+   hi Folded          ctermfg=67  ctermbg=16
+   hi Function        ctermfg=118
+   hi Identifier      ctermfg=208               cterm=none
+   hi Ignore          ctermfg=244 ctermbg=232
+   hi IncSearch       ctermfg=193 ctermbg=16
+
+   hi keyword         ctermfg=161               cterm=bold
+   hi Label           ctermfg=229               cterm=none
+   hi Macro           ctermfg=193
+   hi SpecialKey      ctermfg=81
+
+   hi MatchParen      ctermfg=233  ctermbg=208 cterm=bold
+   hi ModeMsg         ctermfg=229
+   hi MoreMsg         ctermfg=229
+   hi Operator        ctermfg=161
+
+   " complete menu
+   hi Pmenu           ctermfg=81  ctermbg=16
+   hi PmenuSel        ctermfg=255 ctermbg=242
+   hi PmenuSbar                   ctermbg=232
+   hi PmenuThumb      ctermfg=81
+
+   hi PreCondit       ctermfg=118               cterm=bold
+   hi PreProc         ctermfg=118
+   hi Question        ctermfg=81
+   hi Repeat          ctermfg=161               cterm=bold
+   hi Search          ctermfg=0   ctermbg=222   cterm=NONE
+
+   " marks column
+   hi SignColumn      ctermfg=118 ctermbg=235
+   hi SpecialChar     ctermfg=161               cterm=bold
+   hi SpecialComment  ctermfg=245               cterm=bold
+   hi Special         ctermfg=81
+   if has("spell")
+       hi SpellBad                ctermbg=52
+       hi SpellCap                ctermbg=17
+       hi SpellLocal              ctermbg=17
+       hi SpellRare  ctermfg=none ctermbg=none  cterm=reverse
+   endif
+   hi Statement       ctermfg=161               cterm=bold
+   hi StatusLine      ctermfg=238 ctermbg=253
+   hi StatusLineNC    ctermfg=244 ctermbg=232
+   hi StorageClass    ctermfg=208
+   hi Structure       ctermfg=81
+   hi Tag             ctermfg=161
+   hi Title           ctermfg=166
+   hi Todo            ctermfg=231 ctermbg=232   cterm=bold
+
+   hi Typedef         ctermfg=81
+   hi Type            ctermfg=81                cterm=none
+   hi Underlined      ctermfg=244               cterm=underline
+
+   hi VertSplit       ctermfg=244 ctermbg=232   cterm=bold
+   hi VisualNOS                   ctermbg=238
+   hi Visual                      ctermbg=235
+   hi WarningMsg      ctermfg=231 ctermbg=238   cterm=bold
+   hi WildMenu        ctermfg=81  ctermbg=16
+
+   hi Comment         ctermfg=59
+   hi CursorColumn                ctermbg=236
+   hi ColorColumn                 ctermbg=236
+   hi LineNr          ctermfg=250 ctermbg=236
+   hi NonText         ctermfg=59
+
+   hi SpecialKey      ctermfg=59
+
+   if exists("g:rehash256") && g:rehash256 == 1
+       hi Normal       ctermfg=252 ctermbg=234
+       hi CursorLine               ctermbg=236   cterm=none
+       hi CursorLineNr ctermfg=208               cterm=none
+
+       hi Boolean         ctermfg=141
+       hi Character       ctermfg=222
+       hi Number          ctermfg=141
+       hi String          ctermfg=222
+       hi Conditional     ctermfg=197               cterm=bold
+       hi Constant        ctermfg=141               cterm=bold
+
+       hi DiffDelete      ctermfg=125 ctermbg=233
+
+       hi Directory       ctermfg=154               cterm=bold
+       hi Error           ctermfg=222 ctermbg=233
+       hi Exception       ctermfg=154               cterm=bold
+       hi Float           ctermfg=141
+       hi Function        ctermfg=154
+       hi Identifier      ctermfg=208
+
+       hi Keyword         ctermfg=197               cterm=bold
+       hi Operator        ctermfg=197
+       hi PreCondit       ctermfg=154               cterm=bold
+       hi PreProc         ctermfg=154
+       hi Repeat          ctermfg=197               cterm=bold
+
+       hi Statement       ctermfg=197               cterm=bold
+       hi Tag             ctermfg=197
+       hi Title           ctermfg=203
+       hi Visual                      ctermbg=238
+
+       hi Comment         ctermfg=244
+       hi LineNr          ctermfg=239 ctermbg=235
+       hi NonText         ctermfg=239
+       hi SpecialKey      ctermfg=239
+   endif
+end
+
+" Must be at the end, because of ctermbg=234 bug.
+" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
+set background=dark
diff --git a/vim/colors/molokai22.vim b/vim/colors/molokai22.vim
new file mode 100644 (file)
index 0000000..5722f42
--- /dev/null
@@ -0,0 +1,276 @@
+" Vim color file
+"
+" Author: Tomas Restrepo <tomas@winterdom.com>
+" https://github.com/tomasr/molokai
+"
+" Note: Based on the Monokai theme for TextMate
+" by Wimer Hazenberg and its darker variant
+" by Hamish Stuart Macpherson
+"
+
+hi clear
+
+if version > 580
+    " no guarantees for version 5.8 and below, but this makes it stop
+    " complaining
+    hi clear
+    if exists("syntax_on")
+        syntax reset
+    endif
+endif
+let g:colors_name="molokai"
+
+if exists("g:molokai_original")
+    let s:molokai_original = g:molokai_original
+else
+    let s:molokai_original = 0
+endif
+
+
+hi Boolean         guifg=#AE81FF
+hi Character       guifg=#E6DB74
+hi Number          guifg=#AE81FF
+hi String          guifg=#E6DB74
+hi Conditional     guifg=#F92672               gui=bold
+hi Constant        guifg=#AE81FF               gui=bold
+hi Cursor          guifg=#000000 guibg=#F8F8F0
+hi iCursor         guifg=#000000 guibg=#F8F8F0
+hi Debug           guifg=#BCA3A3               gui=bold
+hi Define          guifg=#66D9EF
+hi Delimiter       guifg=#8F8F8F
+hi DiffAdd                       guibg=#13354A
+hi DiffChange      guifg=#89807D guibg=#4C4745
+hi DiffDelete      guifg=#960050 guibg=#1E0010
+hi DiffText                      guibg=#4C4745 gui=italic,bold
+
+hi Directory       guifg=#A6E22E               gui=bold
+hi Error           guifg=#E6DB74 guibg=#1E0010
+hi ErrorMsg        guifg=#F92672 guibg=#232526 gui=bold
+hi Exception       guifg=#A6E22E               gui=bold
+hi Float           guifg=#AE81FF
+hi FoldColumn      guifg=#465457 guibg=#000000
+hi Folded          guifg=#465457 guibg=#000000
+hi Function        guifg=#A6E22E
+hi Identifier      guifg=#FD971F
+hi Ignore          guifg=#808080 guibg=bg
+hi IncSearch       guifg=#C4BE89 guibg=#000000
+
+hi Keyword         guifg=#F92672               gui=bold
+hi Label           guifg=#E6DB74               gui=none
+hi Macro           guifg=#C4BE89               gui=italic
+hi SpecialKey      guifg=#66D9EF               gui=italic
+
+hi MatchParen      guifg=#000000 guibg=#FD971F gui=bold
+hi ModeMsg         guifg=#E6DB74
+hi MoreMsg         guifg=#E6DB74
+hi Operator        guifg=#F92672
+
+" complete menu
+hi Pmenu           guifg=#66D9EF guibg=#000000
+hi PmenuSel                      guibg=#808080
+hi PmenuSbar                     guibg=#080808
+hi PmenuThumb      guifg=#66D9EF
+
+hi PreCondit       guifg=#A6E22E               gui=bold
+hi PreProc         guifg=#A6E22E
+hi Question        guifg=#66D9EF
+hi Repeat          guifg=#F92672               gui=bold
+hi Search          guifg=#000000 guibg=#FFE792
+" marks
+hi SignColumn      guifg=#A6E22E guibg=#232526
+hi SpecialChar     guifg=#F92672               gui=bold
+hi SpecialComment  guifg=#7E8E91               gui=bold
+hi Special         guifg=#66D9EF guibg=bg      gui=italic
+if has("spell")
+    hi SpellBad    guisp=#FF0000 gui=undercurl
+    hi SpellCap    guisp=#7070F0 gui=undercurl
+    hi SpellLocal  guisp=#70F0F0 gui=undercurl
+    hi SpellRare   guisp=#FFFFFF gui=undercurl
+endif
+hi Statement       guifg=#F92672               gui=bold
+hi StatusLine      guifg=#455354 guibg=fg
+hi StatusLineNC    guifg=#808080 guibg=#080808
+hi StorageClass    guifg=#FD971F               gui=italic
+hi Structure       guifg=#66D9EF
+hi Tag             guifg=#F92672               gui=italic
+hi Title           guifg=#ef5939
+hi Todo            guifg=#FFFFFF guibg=bg      gui=bold
+
+hi Typedef         guifg=#66D9EF
+hi Type            guifg=#66D9EF               gui=none
+hi Underlined      guifg=#808080               gui=underline
+
+hi VertSplit       guifg=#808080 guibg=#080808 gui=bold
+hi VisualNOS                     guibg=#403D3D
+hi Visual                        guibg=#403D3D
+hi WarningMsg      guifg=#FFFFFF guibg=#333333 gui=bold
+hi WildMenu        guifg=#66D9EF guibg=#000000
+
+hi TabLineFill     guifg=#1B1D1E guibg=#1B1D1E
+hi TabLine         guibg=#1B1D1E guifg=#808080 gui=none
+
+if s:molokai_original == 1
+   hi Normal          guifg=#F8F8F2 guibg=#272822
+   hi Comment         guifg=#75715E
+   hi CursorLine                    guibg=#3E3D32
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#3E3D32
+   hi ColorColumn                   guibg=#3B3A32
+   hi LineNr          guifg=#BCBCBC guibg=#3B3A32
+   hi NonText         guifg=#75715E
+   hi SpecialKey      guifg=#75715E
+else
+   hi Normal          guifg=#F8F8F2 guibg=#1B1D1E
+   hi Comment         guifg=#7E8E91
+   hi CursorLine                    guibg=#293739
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#293739
+   hi ColorColumn                   guibg=#232526
+   hi LineNr          guifg=#465457 guibg=#232526
+   hi NonText         guifg=#465457
+   hi SpecialKey      guifg=#465457
+end
+
+"
+" Support for 256-color terminal
+"
+if &t_Co > 255
+   if s:molokai_original == 1
+      hi Normal                   ctermbg=234
+      hi CursorLine               ctermbg=235   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   else
+      hi Normal       ctermfg=252 ctermbg=233
+      hi CursorLine               ctermbg=234   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   endif
+   hi Boolean         ctermfg=135
+   hi Character       ctermfg=185
+   hi Number          ctermfg=135
+   hi String          ctermfg=185
+   hi Conditional     ctermfg=161               cterm=bold
+   hi Constant        ctermfg=135               cterm=bold
+   hi Cursor          ctermfg=16  ctermbg=253
+   hi Debug           ctermfg=225               cterm=bold
+   hi Define          ctermfg=81
+   hi Delimiter       ctermfg=241
+
+   hi DiffAdd                     ctermbg=24
+   hi DiffChange      ctermfg=181 ctermbg=239
+   hi DiffDelete      ctermfg=162 ctermbg=53
+   hi DiffText                    ctermbg=102 cterm=bold
+
+   hi Directory       ctermfg=118               cterm=bold
+   hi Error           ctermfg=219 ctermbg=89
+   hi ErrorMsg        ctermfg=199 ctermbg=16    cterm=bold
+   hi Exception       ctermfg=118               cterm=bold
+   hi Float           ctermfg=135
+   hi FoldColumn      ctermfg=67  ctermbg=16
+   hi Folded          ctermfg=67  ctermbg=16
+   hi Function        ctermfg=118
+   hi Identifier      ctermfg=208               cterm=none
+   hi Ignore          ctermfg=244 ctermbg=232
+   hi IncSearch       ctermfg=193 ctermbg=16
+
+   hi keyword         ctermfg=161               cterm=bold
+   hi Label           ctermfg=144                              cterm=none
+   hi Macro           ctermfg=193
+   hi SpecialKey      ctermfg=81
+
+   hi MatchParen      ctermfg=233  ctermbg=208 cterm=bold
+   hi ModeMsg         ctermfg=229
+   hi MoreMsg         ctermfg=229
+   hi Operator        ctermfg=161
+
+   " complete menu
+   hi Pmenu           ctermfg=81  ctermbg=16
+   hi PmenuSel        ctermfg=255 ctermbg=242
+   hi PmenuSbar                   ctermbg=232
+   hi PmenuThumb      ctermfg=81
+
+   hi PreCondit       ctermfg=118               cterm=bold
+   hi PreProc         ctermfg=118
+   hi Question        ctermfg=81
+   hi Repeat          ctermfg=161               cterm=bold
+   hi Search          ctermfg=0   ctermbg=222   cterm=NONE
+
+   " marks column
+   hi SignColumn      ctermfg=118 ctermbg=235
+   hi SpecialChar     ctermfg=161               cterm=bold
+   hi SpecialComment  ctermfg=245               cterm=bold
+   hi Special         ctermfg=81
+   if has("spell")
+       hi SpellBad                ctermbg=52
+       hi SpellCap                ctermbg=17
+       hi SpellLocal              ctermbg=17
+       hi SpellRare  ctermfg=none ctermbg=none  cterm=reverse
+   endif
+   hi Statement       ctermfg=161               cterm=bold
+   hi StatusLine      ctermfg=238 ctermbg=253
+   hi StatusLineNC    ctermfg=244 ctermbg=232
+   hi StorageClass    ctermfg=208
+   hi Structure       ctermfg=81
+   hi Tag             ctermfg=161
+   hi Title           ctermfg=166
+   hi Todo            ctermfg=231 ctermbg=232   cterm=bold
+
+   hi Typedef         ctermfg=81
+   hi Type            ctermfg=81                cterm=none
+   hi Underlined      ctermfg=244               cterm=underline
+
+   hi VertSplit       ctermfg=244 ctermbg=232   cterm=bold
+   hi VisualNOS                   ctermbg=238
+   hi Visual                      ctermbg=235
+   hi WarningMsg      ctermfg=231 ctermbg=238   cterm=bold
+   hi WildMenu        ctermfg=81  ctermbg=16
+
+   hi Comment         ctermfg=59
+   hi CursorColumn                ctermbg=236
+   hi ColorColumn                 ctermbg=236
+   hi LineNr          ctermfg=239 ctermbg=235
+   hi NonText         ctermfg=59
+
+   hi SpecialKey      ctermfg=59
+
+   if exists("g:rehash256") && g:rehash256 == 1
+       hi Normal       ctermfg=252 ctermbg=234
+       hi CursorLine               ctermbg=236   cterm=none
+       hi CursorLineNr ctermfg=208               cterm=none
+
+       hi Boolean         ctermfg=141
+       hi Character       ctermfg=222
+       hi Number          ctermfg=141
+       hi String          ctermfg=222
+       hi Conditional     ctermfg=197               cterm=bold
+       hi Constant        ctermfg=141               cterm=bold
+
+       hi DiffDelete      ctermfg=125 ctermbg=233
+
+       hi Directory       ctermfg=154               cterm=bold
+       hi Error           ctermfg=222 ctermbg=233
+       hi Exception       ctermfg=154               cterm=bold
+       hi Float           ctermfg=141
+       hi Function        ctermfg=154
+       hi Identifier      ctermfg=208
+
+       hi Keyword         ctermfg=197               cterm=bold
+       hi Operator        ctermfg=197
+       hi PreCondit       ctermfg=154               cterm=bold
+       hi PreProc         ctermfg=154
+       hi Repeat          ctermfg=197               cterm=bold
+
+       hi Statement       ctermfg=197               cterm=bold
+       hi Tag             ctermfg=197
+       hi Title           ctermfg=203
+       hi Visual                      ctermbg=238
+
+       hi Comment         ctermfg=244
+       hi LineNr          ctermfg=239 ctermbg=235
+       hi NonText         ctermfg=239
+       hi SpecialKey      ctermfg=239
+   endif
+end
+
+" Must be at the end, because of ctermbg=234 bug.
+" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
+set background=dark
diff --git a/vim/install b/vim/install
new file mode 100755 (executable)
index 0000000..5df3f97
--- /dev/null
@@ -0,0 +1,5 @@
+mkdir bundle
+cd bundle
+git clone https://github.com/gmarik/Vundle.vim.git
+cd ..
+vim --cmd 'echo "aaaa"'
diff --git a/vim/syntax/tmux.vim b/vim/syntax/tmux.vim
new file mode 100644 (file)
index 0000000..2b72176
--- /dev/null
@@ -0,0 +1,107 @@
+" Vim syntax file
+" Language: tmux(1) configuration file
+" Maintainer: Tiago Cunha <me@tiagocunha.org>
+" Last Change: $Date: 2010-07-27 18:29:07 $
+" License: This file is placed in the public domain.
+
+if version < 600
+       syntax clear
+elseif exists("b:current_syntax")
+       finish
+endif
+
+setlocal iskeyword+=-
+syntax case match
+
+syn keyword tmuxAction any current none
+syn keyword tmuxBoolean        off on
+
+syn keyword tmuxCmds detach[-client] ls list-sessions neww new-window
+syn keyword tmuxCmds bind[-key] unbind[-key] prev[ious-window] last[-window]
+syn keyword tmuxCmds lsk list-keys set[-option] renamew rename-window selectw
+syn keyword tmuxCmds select-window lsw list-windows attach[-session]
+syn keyword tmuxCmds send-prefix refresh[-client] killw kill-window lsc
+syn keyword tmuxCmds list-clients linkw link-window unlinkw unlink-window
+syn keyword tmuxCmds next[-window] send[-keys] swapw swap-window
+syn keyword tmuxCmds rename[-session] kill-session switchc switch-client
+syn keyword tmuxCmds has[-session] copy-mode pasteb paste-buffer
+syn keyword tmuxCmds new[-session] start[-server] kill-server setw
+syn keyword tmuxCmds set-window-option show[-options] showw show-window-options
+syn keyword tmuxCmds command-prompt setb set-buffer showb show-buffer lsb
+syn keyword tmuxCmds list-buffers deleteb delete-buffer lscm list-commands
+syn keyword tmuxCmds movew move-window respawnw respawn-window
+syn keyword tmuxCmds source[-file] info server-info clock-mode lock[-server]
+syn keyword tmuxCmds saveb save-buffer killp
+syn keyword tmuxCmds kill-pane resizep resize-pane selectp select-pane swapp
+syn keyword tmuxCmds swap-pane splitw split-window choose-session
+syn keyword tmuxCmds choose-window loadb load-buffer copyb copy-buffer suspendc
+syn keyword tmuxCmds suspend-client findw find-window breakp break-pane nextl
+syn keyword tmuxCmds next-layout rotatew rotate-window confirm[-before]
+syn keyword tmuxCmds clearhist clear-history selectl select-layout if[-shell]
+syn keyword tmuxCmds display[-message] setenv set-environment showenv
+syn keyword tmuxCmds show-environment choose-client displayp display-panes
+syn keyword tmuxCmds run[-shell] lockc lock-client locks lock-session lsp
+syn keyword tmuxCmds list-panes pipep pipe-pane showmsgs show-messages capturep
+syn keyword tmuxCmds capture-pane joinp join-pane choose-buffer
+
+syn keyword tmuxOptsSet prefix status status-fg status-bg bell-action
+syn keyword tmuxOptsSet default-command history-limit status-left status-right
+syn keyword tmuxOptsSet status-interval set-titles display-time buffer-limit
+syn keyword tmuxOptsSet status-left-length status-right-length
+syn keyword tmuxOptsSet message-[command-]bg lock-after-time default-path
+syn keyword tmuxOptsSet message-[command-]attr status-attr set-remain-on-exit
+syn keyword tmuxOptsSet status-utf8 default-terminal visual-activity repeat-time
+syn keyword tmuxOptsSet visual-bell visual-content status-justify status-keys
+syn keyword tmuxOptsSet terminal-overrides status-left-attr status-left-bg
+syn keyword tmuxOptsSet status-left-fg status-right-attr status-right-bg
+syn keyword tmuxOptsSet status-right-fg update-environment base-index
+syn keyword tmuxOptsSet display-panes-colour display-panes-time default-shell
+syn keyword tmuxOptsSet set-titles-string lock-command lock-server
+syn keyword tmuxOptsSet mouse-select-pane message-limit quiet escape-time
+syn keyword tmuxOptsSet pane-active-border-bg pane-active-border-fg
+syn keyword tmuxOptsSet pane-border-bg pane-border-fg message-[command-]fg
+syn keyword tmuxOptsSet display-panes-active-colour alternate-screen
+syn keyword tmuxOptsSet detach-on-destroy word-separators
+syn keyword tmuxOptsSet destroy-unattached exit-unattached set-clipboard
+syn keyword tmuxOptsSet bell-on-alert mouse-select-window mouse-utf8
+
+syn keyword tmuxOptsSetw monitor-activity aggressive-resize force-width
+syn keyword tmuxOptsSetw force-height remain-on-exit uft8 mode-fg mode-bg
+syn keyword tmuxOptsSetw mode-keys clock-mode-colour clock-mode-style
+syn keyword tmuxOptsSetw xterm-keys mode-attr window-status-attr
+syn keyword tmuxOptsSetw window-status-bg window-status-fg automatic-rename
+syn keyword tmuxOptsSetw main-pane-width main-pane-height monitor-content
+syn keyword tmuxOptsSetw window-status-current-attr window-status-current-bg
+syn keyword tmuxOptsSetw window-status-current-fg mode-mouse synchronize-panes
+syn keyword tmuxOptsSetw window-status-format window-status-current-format
+syn keyword tmuxOptsSetw window-status-alert-attr
+syn keyword tmuxOptsSetw window-status-alert-bg window-status-alert-fg
+syn keyword tmuxOptsSetw pane-base-index other-pane-height other-pane-width
+
+syn keyword tmuxTodo FIXME NOTE TODO XXX contained
+
+syn match tmuxKey              /\(C-\|M-\|\^\)\+\S\+/  display
+syn match tmuxNumber           /\d\+/                  display
+syn match tmuxOptions          /\s-\a\+/               display
+syn match tmuxVariable         /\w\+=/                 display
+syn match tmuxVariableExpansion        /\${\=\w\+}\=/          display
+
+syn region tmuxComment start=/#/ end=/$/ contains=tmuxTodo display oneline
+syn region tmuxString  start=/"/ end=/"/ display oneline
+syn region tmuxString  start=/'/ end=/'/ display oneline
+
+hi def link tmuxAction                 Boolean
+hi def link tmuxBoolean                        Boolean
+hi def link tmuxCmds                   Keyword
+hi def link tmuxComment                        Comment
+hi def link tmuxKey                    Special
+hi def link tmuxNumber                 Number
+hi def link tmuxOptions                        Identifier
+hi def link tmuxOptsSet                        Function
+hi def link tmuxOptsSetw               Function
+hi def link tmuxString                 String
+hi def link tmuxTodo                   Todo
+hi def link tmuxVariable               Constant
+hi def link tmuxVariableExpansion      Constant
+
+let b:current_syntax = "tmux"
diff --git a/vim/vimrc b/vim/vimrc
new file mode 100644 (file)
index 0000000..16a8af1
--- /dev/null
+++ b/vim/vimrc
@@ -0,0 +1,607 @@
+" Bundle ------------------------------------------------------------------ {{{
+" Sun Sep 21 00:46:43 CST 2014
+" refer https://github.com/connermcd/dotfiles.git
+" and  https://bitbucket.org/sjl/dotfiles
+set nocompatible
+filetype off
+
+set rtp+=~/.vim/bundle/Vundle.vim
+call vundle#begin()
+
+Plugin 'gmarik/Vundle.vim'
+Bundle 'vim-scripts/FuzzyFinder'
+Bundle 'vim-scripts/L9'
+Bundle 'Valloric/YouCompleteMe'
+Bundle 'octol/vim-cpp-enhanced-highlight'
+Bundle 'bling/vim-airline'
+Bundle 'payneseu/nerdtree'
+Bundle 'Townk/vim-autoclose'
+Bundle 'majutsushi/tagbar'
+Bundle 'vim-scripts/tcd.vim'
+Bundle 'vim-scripts/cmdline-completion'
+Bundle 'vim-scripts/vcscommand.vim'
+Bundle 'Lokaltog/vim-easymotion'
+Bundle 'vim-scripts/YankRing.vim'
+Bundle 'vim-scripts/gtags.vim'
+Bundle 'kshenoy/vim-signature'
+Bundle 'nathanaelkane/vim-indent-guides'
+Bundle 'rking/ag.vim'
+Bundle 'payneseu/mark-2.8.4'
+"Bundle 'derekwyatt/vim-fswitch'
+Bundle 'sjl/gundo.vim'
+Bundle 'tpope/vim-markdown'
+"Bundle 'vim-scripts/BreakPts'
+"Bundle 'vim-scripts/genutils'
+"Bundle 'vim-scripts/Marks-Browser'
+Bundle 'MattesGroeger/vim-bookmarks'
+
+call vundle#end()
+filetype plugin indent on
+
+" }}}
+" Basic options ----------------------------------------------------------- {{{
+set number
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+set smartindent
+set smarttab
+set vb t_vb=
+set scrolloff=5
+set sidescroll=10
+set history=1000
+set ruler
+set showcmd
+set incsearch
+set hidden
+set diffopt=filler,vertical
+
+"set list
+set listchars=tab:▸\ ,eol:¬,extends:❯,precedes:❮
+set ttymouse=xterm2
+set mouse=a
+set splitbelow
+set splitright
+set nobackup
+set noswapfile
+set magic
+set completeopt=longest,menuone
+set ttyfast
+"set wildmode=list:longest
+set wildmenu
+set wildignore=*.o,*.obj,*~,*.swp,*.DS_Store,*.git,*.svn,*.hg
+set lazyredraw
+set hlsearch
+set autoindent
+set confirm
+syntax on
+" colorscheme {{{
+set cursorline
+if has("gui_running")
+       set macmeta  "" Macvim only
+       colorscheme molokai
+       set guioptions+=c
+       set guifont=Sauce\ Code\ Powerline\ Light:h12
+       highlight Cursor guifg=white guibg=green
+       set guicursor=a:blinkon0
+       set guioptions=eac
+       set lines=999
+       set columns=999
+else
+       set t_Co=256
+       colorscheme molokai22
+       " http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinkbdoZ8eNR1X2UobLTeww1jFrvfJxTMfKSq-L%2B%40mail.gmail.com&forum_name=tmux-users
+       "https://gist.github.com/andyfowler/1195581  
+       if exists('$TMUX')
+         let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
+         let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
+       else
+         let &t_SI = "\<Esc>]50;CursorShape=1\x7"
+         let &t_EI = "\<Esc>]50;CursorShape=0\x7"
+       endif"
+endif
+       
+" }}}
+" }}}
+" Mappings ---------------------------------------------------------------- {{{
+let mapleader = ";"
+map Q gq
+" Normal mode ------------------------------------------------------------- {{{
+nnoremap Y     y$
+nnoremap ' `
+nnoremap ` '
+nnoremap J     <C-D>
+nnoremap K     <C-U>
+
+nmap <Leader>w :w<CR>
+nmap <Leader>q :q<CR>
+nmap <Leader>e :e<Space>
+nmap <Leader>W :w !sudo tee %<CR>
+nmap <Leader>h :vertical help<Space>
+nmap <Leader>t :tabedit<Space>
+"nmap <Leader>x        :x<CR>
+
+" windows 
+nmap <C-H>  <C-W>h
+nmap <C-J>  <C-W>j
+nmap <C-L>  <C-W>l
+nmap <C-K>  <C-W>k
+nnoremap <Leader>v     <C-W>v
+nnoremap <Leader>s     <C-W>s
+"nnoremap  so          <C-W>o
+nmap + <C-w>3+
+nmap - <C-w>3-
+nmap < <C-w>3<
+nmap > <C-w>3>
+nmap = <C-w>=
+
+nnoremap <C-D> M<C-D>
+nnoremap <C-U> M<C-U>
+
+nnoremap <SPACE>       <C-F>
+nnoremap <S-SPACE>     <C-B>
+nnoremap <BS>  <C-B>
+nnoremap <A-n> gt
+nnoremap <A-p> gT
+"nmap <A-TAB>  :bn<CR>
+" map <A-TAB> Alt+TAB  
+"noremap <A-S-TAB> "input C-V then input key sequence to
+"http://vim.wikia.com/wiki/Make_Shift-Tab_work
+nnoremap <ESC><TAB> :bn<CR>
+nnoremap \e\19 :bp<CR>
+"nmap <A-S-TAB>        :bp<CR>
+"nmap <A-SPACE>        :b#<CR>
+"nmap <Leader>d        :bd<CR>
+"" keymappig for register operations
+nnoremap <Leader>r     :registers<CR>
+"noremap <Leader>x     :<C-p>
+nnoremap <Leader>a :
+
+nmap <Leader>p "*p
+
+
+nmap <A-=> :resize<CR>:vertical resize<CR>
+nmap \e= :resize<CR>:vertical resize<CR>
+
+nnoremap n nzzzv
+nnoremap N     Nzzzv
+nnoremap g;    g;zzzv
+nnoremap g,    g,zzzv
+nnoremap zR    zRzz
+nnoremap zr    zrzz
+nnoremap zn znzz
+
+noremap <Leader>z      zmzvzz
+nmap \\ :nohlsearch<CR>
+" }}}
+" Insert mode ------------------------------------------------------------- {{{
+inoremap jj            <Esc>
+inoremap <C-U> <C-G>u<C-U>
+inoremap <C-a> <Home>
+inoremap <C-e> <End>
+inoremap <C-D> <Del>
+inoremap <C-b> <S-Left>
+inoremap <C-f> <S-Right>
+imap <A-d>     <S-Right><C-w>
+" }}}
+" Command mode ------------------------------------------------------- {{{
+cmap jj                <C-c>
+cnoremap <C-A> <Home>
+cnoremap <C-E> <End>
+cnoremap <C-B> <Left>
+cnoremap <C-F> <Right>
+cnoremap <C-D> <Del>
+
+
+if has("gui_running")
+" only for Macvim <D-Left> D is Command key
+       cmap <A-a>      <D-Left>
+       cmap <A-e>      <D-Right>
+
+       cnoremap <A-b>  <S-Left>
+       cnoremap <A-f>  <S-Right>
+       cnoremap <A-d>  <S-Right><S-Right><S-Left><C-w>
+else
+       cnoremap \eb     <S-Left>
+       cnoremap \ef     <S-Right>
+       cnoremap \ed     <S-Right><S-Right><S-Left><C-w>
+endif
+" delet a word left of cursor
+cmap <S-BS>    <C-w>
+" }}}
+" Visual mode ------------------------------------------------------------- {{{
+"" key mapping for  visul mode
+vmap <C-k>     {       
+vmap <C-j>     }       
+"vmap <Leader>y        "*y
+vmap Y "*y
+" }}}
+" }}}
+" Plugins Configuration --------------------------------------------------- {{{
+" Fuzzy Finder ------------------------------------------------------------ {{{
+let g:fuf_modesDisable = []
+let g:fuf_mrufile_maxItem = 400
+let g:fuf_mrucmd_maxItem = 400
+let g:fuf_file_exclude = '\v\~$|\.(DS_Store|o|exe|dll|bak|orig|swp|pyc)$|(^|[/\\])\.(hg|git|bzr|svn)($|[/\\])'
+let g:fuf_buffertag_ctagsPath = '/usr/local/bin/ctags'
+let g:fuf_enumeratingLimit = 30
+nnoremap <silent> sj     :FufBuffer<CR>
+nnoremap <silent> sk     :FufFileWithCurrentBufferDir<CR>
+nnoremap <silent> sK     :FufFileWithFullCwd<CR>
+nnoremap <silent> s<C-k> :FufFile<CR>
+nnoremap <silent> sl     :FufCoverageFileChange<CR>
+nnoremap <silent> sL     :FufCoverageFileChange<CR>
+nnoremap <silent> s<C-l> :FufCoverageFileRegister<CR>
+nnoremap <silent> sd     :FufDirWithCurrentBufferDir<CR>
+nnoremap <silent> sD     :FufDirWithFullCwd<CR>
+nnoremap <silent> s<C-d> :FufDir<CR>
+nnoremap <silent> sn     :FufMruFile<CR>
+nnoremap <silent> sN     :FufMruFileInCwd<CR>
+nnoremap <silent> sm     :FufMruCmd<CR>
+nnoremap <silent> su     :FufBookmarkFile<CR>
+nnoremap <silent> s<C-u> :FufBookmarkFileAdd<CR>
+vnoremap <silent> s<C-u> :FufBookmarkFileAddAsSelectedText<CR>
+nnoremap <silent> si     :FufBookmarkDir<CR>
+nnoremap <silent> s<C-i> :FufBookmarkDirAdd<CR>
+nnoremap <silent> sT     :FufTag<CR>
+nnoremap <silent> st     :FufTag!<CR>
+nnoremap <silent> s<C-]> :FufTagWithCursorWord!<CR>
+nnoremap <silent> s,     :FufBufferTag<CR>
+nnoremap <silent> s<     :FufBufferTag!<CR>
+vnoremap <silent> s,     :FufBufferTagWithSelectedText!<CR>
+vnoremap <silent> s<     :FufBufferTagWithSelectedText<CR>
+nnoremap <silent> s}     :FufBufferTagWithCursorWord!<CR>
+"nnoremap <silent> s.     :FufBufferTagAll<CR>
+"nnoremap <silent> s>     :FufBufferTagAll!<CR>
+"vnoremap <silent> s.     :FufBufferTagAllWithSelectedText!<CR>
+"vnoremap <silent> s>     :FufBufferTagAllWithSelectedText<CR>
+"nnoremap <silent> s]     :FufBufferTagAllWithCursorWord!<CR>
+nnoremap <silent> sG     :FufTaggedFile<CR>
+nnoremap <silent> sg     :FufTaggedFile!<CR>
+nnoremap <silent> so     :FufJumpList<CR>
+nnoremap <silent> sp     :FufChangeList<CR>
+nnoremap <silent> sq     :FufQuickfix<CR>
+nnoremap <silent> sy     :FufLine<CR>
+"  nnoremap <silent> sh     :FufHelp<CR>
+nnoremap <silent> se     :FufEditDataFile<CR>
+nnoremap <silent> sr     :FufRenewCache<CR>
+" }}}
+" YouCompleteMe ----------------------------------------------------------- {{{
+"syntax on, must before the YCM,
+
+let g:ycm_collect_identifiers_from_tags_files = 1
+let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
+let g:ycm_auto_trigger = 1
+let g:ycm_seed_identifiers_with_syntax = 1
+let g:ycm_show_diagnostics_ui = 0
+let g:ycm_enable_diagnostic_signs = 0
+set completeopt-=preview   " disable preview windows for completion
+let g:ycm_confirm_extra_conf = 0
+" delete default mapping for <leader>d
+let g:ycm_key_detailed_diagnostics = ''
+
+" }}}
+" Airline ----------------------------------------------------------------- {{{
+"if has("gui_running")
+
+  let g:airline_mode_map = {
+      \ '__' : '-',
+      \ 'n'  : 'N',
+      \ 'i'  : 'I',
+      \ 'R'  : 'R',
+      \ 'c'  : 'C',
+      \ 'v'  : 'V',
+      \ 'V'  : 'V',
+      \ '\16' : 'V',
+      \ 's'  : 'S',
+      \ 'S'  : 'S',
+      \ '\13' : 'S',
+      \ }
+
+       let g:airline_theme = 'badwolf'
+
+"if has("gui_running")
+       let g:airline_powerline_fonts=1
+       let g:airline_left_sep = ''
+       let g:airline_left_alt_sep = ''
+       let g:airline_right_sep = ''
+       let g:airline_right_alt_sep = ''
+
+       let g:airline#extensions#tabline#show_buffers = 1
+       let g:airline#extensions#tabline#enabled = 1
+       let g:airline#extensions#tabline#left_sep = ''
+       let g:airline#extensions#tabline#left_alt_sep =''
+       let g:airline#extensions#tagbar#enabled = 1
+"else 
+"      let g:airline_powerline_fonts=1
+"      let g:airline_left_sep = ''
+""     let g:airline_left_alt_sep = ''
+"      let g:airline_right_sep = ''
+""     let g:airline_right_alt_sep = ''
+"
+"      let g:airline#extensions#tabline#show_buffers = 0
+"      let g:airline#extensions#tabline#enabled = 1
+"      let g:airline#extensions#tabline#left_sep = ''
+""     let g:airline#extensions#tabline#left_alt_sep =''
+"      let g:airline#extensions#tagbar#enabled = 1
+"endif
+       "
+"      let g:airline_section_a = 'N'
+       let g:airline_section_b = '%f%m'
+       let g:airline_section_c = ''
+       let g:airline_section_x = '[%-.50{CurDir()}]'
+       let g:airline_section_y = '%y'
+       let g:airline_section_z = '%c, %l/%L %p%%'
+       let g:airline_section_warning = '' " (syntastic, whitespace)
+
+set laststatus=2
+set statusline=\ %<%F%m%=[%-.50{CurDir()}]\ %y\ %c,\ %l/%L\ \ %p%%\ 
+function! CurDir()
+       let curdir = substitute(getcwd(), $HOME, "~", "g")
+       return curdir
+endfunction
+
+"endif
+" }}}
+" NerdTree ---------------------------------------------------------------- {{{
+nmap <Leader>n :NERDTreeToggle<CR>
+nmap <Leader>N :NERDTreeFind<CR>
+" }}}
+" AutoClose --------------------------------------------------------------- {{{
+let g:AutoCloseProtectedRegions = ["Dialog", "ThoughBubble"]
+" }}}
+" TagBar ------------------------------------------------------------------ {{{
+noremap <Leader>f      :TagbarToggle<CR><C-w>l
+let Tlist_Ctags_Cmd="/usr/local/bin/ctags"
+" }}}
+" Tcd --------------------------------------------------------------------- {{{
+cabbrev cd Tcd
+" }}}
+" cmdline-completion ------------------------------------------------------ {{{
+"http://foocoder.com/blog/mei-ri-vimcha-jian-suo-jin-xian-shi-vim-indent-guides.html/
+cmap <C-J> <Plug>CmdlineCompletionBackward
+cmap <C-K> <Plug>CmdlineCompletionForward
+" }}}
+" VSCCommand -------------------------------------------------------------- {{{
+"" ==============  VCSCommand.vim =====================
+"let VCSCommandSVKExec='disabled no such executable'
+let VCSCommandDeleteOnHide=1   
+let VCSCommandDisableMappings=1
+"let VCSCommandEnableBufferSetup=1
+"nmap <Leader>sd       :VCSVimDiff<CR>
+augroup VCSCommand
+       autocmd User VCSBufferCreated silent! nmap <unique> <buffer> q :bwipeout<cr> | setlocal nomodifiable
+augroup END
+nmap <Leader>dg                :diffget<CR>
+" }}}
+" YankRing ---------------------------------------------------------------- {{{
+let g:yankring_min_element_length = 2
+nmap \r :YRShow<CR>
+let g:yankring_replace_n_pkey = '<A->>'
+let g:yankring_replace_n_nkey = '<A-<>'
+let g:yankring_history_dir = "$HOME/.vim/temp/"
+" }}}
+" Gtags ------------------------------------------------------------------- {{{
+if has("gui_running")
+       noremap <A-.> :Gtags<CR>
+       noremap <A-r> :Gtags -r<CR>
+       noremap <A-o> :Gtags -s<CR>
+       noremap <A-g> :Gtags -g<CR> 
+else
+       noremap \e. :Gtags<CR>
+       noremap \er :Gtags -r<CR>
+"      noremap j :Gtags -s<CR>
+       noremap \eg :Gtags -g<CR> 
+endif
+" }}}
+" Marks ------------------------------------------------------------------- {{{
+nmap  \h <Plug>MarkSet
+nmap  * <Plug>MarkSearchNext
+nmap  # <Plug>MarkSearchPrev
+" }}}
+" Gundo ------------------------------------------------------------------- {{{
+"    nnoremap <F5> :GundoToggle<CR>
+" }}}
+" Bookmarks --------------------------------------------------------------- {{{
+
+let g:bookmark_save_per_working_dir = 1
+let g:bookmark_auto_close = 1
+let g:bookmark_auto_save = 1
+" unmap the default mapping in plugins
+nmap <Plug>DisableBookmarkToggle       <Plug>BookmarkToggle
+nmap <Plug>DisableBookmarkAnnotate     <Plug>BookmarkAnnotate
+nmap <Plug>DisableBookmarkShowAll      <Plug>BookmarkShowAll
+nmap <Plug>DisableBookmarkNext         <Plug>BookmarkNext
+nmap <Plug>DisableBookmarkPrev         <Plug>BookmarkPrev
+nmap <Plug>DisableBookmarkClear                <Plug>BookmarkClear
+nmap <Plug>DisableBookmarkClearAll     <Plug>BookmarkClearAll
+" remapping
+nmap mm <Plug>BookmarkToggle
+"  nmap ,i <Plug>BookmarkAnnotate
+nmap \m <Plug>BookmarkShowAll
+let g:bookmark_center = 1
+let g:bookmark_auto_close = 1
+"let g:bookmark_highlight_lines = 1
+"  nmap ,j <Plug>BookmarkNext
+"  nmap ,k <Plug>BookmarkPrev
+"  nmap ,c <Plug>BookmarkClear
+"  nmap ,x <Plug>BookmarkClearAll
+" }}}
+
+" }}}
+" FileType ---------------------------------------------------------------- {{{
+autocmd BufNewFile,BufRead *.log set filetype=logecc
+autocmd BufNewFile,BufRead *.log.[0-9] set filetype=logecc
+autocmd BufNewFile,BufRead *tmux.conf set filetype=tmux
+autocmd BufNewFile,BufRead SConstruct set filetype=python
+autocmd BufNewFile,BufRead SConscript* set filetype=python
+autocmd BufNewFile,BufReadPost *.md set filetype=markdown
+" http://vim.wikia.com/wiki/Update_the_diff_view_automatically
+autocmd InsertLeave,BufWritePost,CursorHold * if &diff == 1 | diffupdate | endif
+" setlocal nomodifiable for svn diff
+autocmd BufWinEnter *.svn-base setlocal nomodifiable 
+
+autocmd WinEnter * nnoremap <buffer> gj @=(&diff)?']czz':'gj'<CR> |
+       \ nnoremap <buffer> gk @=(&diff)?'[czz':'gk'<CR>
+
+autocmd FileType qf nnoremap <buffer> <silent> q :q<CR> | setlocal nowrap | setlocal nocursorline
+autocmd FileType help nnoremap <buffer> <silent> q :q<CR> | vertical resize 85;
+autocmd FileType c,cpp setlocal foldmethod=syntax |
+    \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("\"", "{}") |
+       \ inoremap <buffer> { {<CR>}<ESC>kA<CR>
+autocmd FileType python setlocal foldmethod=indent
+
+autocmd FileType xml setlocal foldmethod=syntax |
+       \ let g:xml_syntax_folding=1
+autocmd FileType vim setlocal foldmethod=marker |
+       \ setlocal formatoptions-=c formatoptions-=r formatoptions-=o |
+    \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("", "{} \"")
+
+autocmd CmdwinEnter * map <buffer> q :q<CR>
+
+" }}}
+" Functions --------------------------------------------------------------- {{{
+" DiffOrig ---------------------------------------------------------------- {{{
+" refert vimrc_example.vim 
+" Convenient command to see the difference between the current buffer and the
+" file it was loaded from, thus the changes you made.
+" Only define it when not defined already.
+if !exists(":DiffOrig")
+  command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
+                 \ | wincmd p | diffthis
+endif 
+" }}}
+" Fold Quickfix ----------------------------------------------------------- {{{
+"http://vim.wikia.com/wiki/Show_only_lines_in_quickfix_list_for_current_buffer 
+if ! exists('g:foldmisses_context')
+  let g:foldmisses_context = 0
+endif
+
+" Add manual fold from line1 to line2, inclusive.
+function! s:Fold(line1, line2)
+  if a:line1 < a:line2
+    execute a:line1.','.a:line2.'fold'
+  endif
+endfunction
+
+" Return list of line numbers for current buffer found in quickfix list.
+function! s:GetHitLineNumbers(list)
+  let result = []
+  for d in a:list
+    if d.valid && d.bufnr == bufnr('')
+      call add(result, d.lnum)
+    endif
+  endfor
+  return result
+endfunction
+
+function! s:FoldMisses(list, context)
+  setlocal foldmethod=manual
+  normal! zE
+  let extra = a:context == 99999 ? g:foldmisses_context : a:context
+  let last = 0
+  for lnum in s:GetHitLineNumbers(a:list)
+"    let start = last==0 ? 1 : last+extra
+    let start = last==0 ? 1 : last+1+extra
+    call s:Fold(start, lnum-1-extra)
+    let last = lnum
+  endfor
+  call s:Fold(last+1+extra, line('$'))
+"  call s:Fold(last+extra, line('$'))
+endfunction
+
+":[N]FoldMisses [N]     Show only the lines (and surrounding [N] lines
+":[N]FoldLMisses [N]    of context) in the current buffer that appear
+"                       in the quickfix / location list.
+"                       Missed, error-free lines are folded away.
+command! -bar -count=99999 FoldMisses call s:FoldMisses(getqflist(), <count>)
+command! -bar -count=99999 FoldLMisses call s:FoldMisses(getloclist(0), <count>)
+" }}}
+" ToggleList -------------------------------------------------------------- {{{
+"http://vim.wikia.com/wiki/Toggle_to_open_or_close_the_quickfix_window
+function! GetBufferList()
+  redir =>buflist
+  silent! ls
+  redir END
+  return buflist
+endfunction
+
+function! ToggleList(bufname, pfx)
+  let buflist = GetBufferList()
+  for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))')
+    if bufwinnr(bufnum) != -1
+      exec(a:pfx.'close')
+      return
+    endif
+  endfor
+  if a:pfx == 'l' && len(getloclist(0)) == 0
+      echohl ErrorMsg
+      echo "Location List is Empty."
+      return
+  endif
+  let winnr = winnr()
+  exec(a:pfx.'open')
+  if winnr() != winnr
+    wincmd p
+  endif
+endfunction
+
+nmap <silent> \l :call ToggleList("Location List", 'l')<CR>
+nmap <silent> \q :call ToggleList("Quickfix List", 'c')<CR>
+" }}}
+" DiffToggle -------------------------------------------------------------- {{{
+"if !exists(":DiffToggle")
+"      \ endif
+"endif
+function! DiffToggle()
+       if(&diff)
+               diffoff | wincmd h | wincmd o
+       else
+               exec ":VCSVimDiff" | wincmd h
+       endif
+endfunction
+nnoremap \d :call DiffToggle()<CR>
+"noremap <Leader>d     @=(&diff)?':diffoff':":VCSVimDiff"<CR><CR>
+" }}}
+
+" }}}
+
+"nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
+nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
+"noremap <Leader>d     @=(&diff)?':diffoff':":VCSVimDiff"<CR><CR>
+
+" https://bitbucket.org/sjl/dotfiles/src/tip/vim/vimrc
+" Make sure Vim returns to the same line when you reopen a file.
+" Thanks, Amit
+augroup line_return
+    au!
+    au BufReadPost *
+        \ if line("'\"") > 0 && line("'\"") <= line("$") |
+        \     execute 'normal! g`"zvzz' |
+        \ endif
+augroup END
+
+iabbrev  -...  <C-R>=repeat('-', 80 - col(".") - 4 ) . " {{{"
+iabbrev                "}   " }}}
+
+" $ sed -n l
+" to show the key sequence when pressing some key, 
+" such as Ctrl-V
+" cnfile
+" cpfile
+
+
+" some prefix for mapping
+" <Leader> = ;
+" ,
+" \
+" m
+nnoremap B ^
+nnoremap E $
+nnoremap <C-N> :cn<CR>
+nnoremap <C-P> :cp<CR>
+"http://dougblack.io/words/a-good-vimrc.html
+"nnoremap gV `[v`]
+set nostartofline   " don't jump to first character when paging
+set nowrap
+