From 2fb0bd26fc2b51066a8091088a22463b017fb24e Mon Sep 17 00:00:00 2001 From: Peng Li Date: Mon, 22 Dec 2014 21:15:55 +0800 Subject: [PATCH] add vim into dotfiles --- vim/.gitignore | 6 + vim/README.md | 5 + vim/colors/hipster.vim | 102 ++++++++ vim/colors/molokai.vim | 276 +++++++++++++++++++++ vim/colors/molokai22.vim | 276 +++++++++++++++++++++ vim/install | 5 + vim/syntax/tmux.vim | 107 +++++++++ vim/vimrc | 607 +++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 1384 insertions(+) create mode 100644 vim/.gitignore create mode 100644 vim/README.md create mode 100644 vim/colors/hipster.vim create mode 100644 vim/colors/molokai.vim create mode 100644 vim/colors/molokai22.vim create mode 100755 vim/install create mode 100644 vim/syntax/tmux.vim create mode 100644 vim/vimrc diff --git a/vim/.gitignore b/vim/.gitignore new file mode 100644 index 0000000..a2566ca --- /dev/null +++ b/vim/.gitignore @@ -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 index 0000000..d359f75 --- /dev/null +++ b/vim/README.md @@ -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 index 0000000..28b20b3 --- /dev/null +++ b/vim/colors/hipster.vim @@ -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 index 0000000..6d97053 --- /dev/null +++ b/vim/colors/molokai.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo +" 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 index 0000000..5722f42 --- /dev/null +++ b/vim/colors/molokai22.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo +" 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 index 0000000..5df3f97 --- /dev/null +++ b/vim/install @@ -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 index 0000000..2b72176 --- /dev/null +++ b/vim/syntax/tmux.vim @@ -0,0 +1,107 @@ +" Vim syntax file +" Language: tmux(1) configuration file +" Maintainer: Tiago Cunha +" 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 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 = "\Ptmux;\\]50;CursorShape=1\x7\\\" + let &t_EI = "\Ptmux;\\]50;CursorShape=0\x7\\\" + else + let &t_SI = "\]50;CursorShape=1\x7" + let &t_EI = "\]50;CursorShape=0\x7" + endif" +endif + +" }}} +" }}} +" Mappings ---------------------------------------------------------------- {{{ +let mapleader = ";" +map Q gq +" Normal mode ------------------------------------------------------------- {{{ +nnoremap Y y$ +nnoremap ' ` +nnoremap ` ' +nnoremap J +nnoremap K + +nmap w :w +nmap q :q +nmap e :e +nmap W :w !sudo tee % +nmap h :vertical help +nmap t :tabedit +"nmap x :x + +" windows +nmap h +nmap j +nmap l +nmap k +nnoremap v v +nnoremap s s +"nnoremap so o +nmap + 3+ +nmap - 3- +nmap < 3< +nmap > 3> +nmap = = + +nnoremap M +nnoremap M + +nnoremap +nnoremap +nnoremap +nnoremap gt +nnoremap gT +"nmap :bn +" map Alt+TAB +"noremap "input C-V then input key sequence to +"http://vim.wikia.com/wiki/Make_Shift-Tab_work +nnoremap :bn +nnoremap  :bp +"nmap :bp +"nmap :b# +"nmap d :bd +"" keymappig for register operations +nnoremap r :registers +"noremap x : +nnoremap a : + +nmap p "*p + + +nmap :resize:vertical resize +nmap = :resize:vertical resize + +nnoremap n nzzzv +nnoremap N Nzzzv +nnoremap g; g;zzzv +nnoremap g, g,zzzv +nnoremap zR zRzz +nnoremap zr zrzz +nnoremap zn znzz + +noremap z zmzvzz +nmap \\ :nohlsearch +" }}} +" Insert mode ------------------------------------------------------------- {{{ +inoremap jj +inoremap u +inoremap +inoremap +inoremap +inoremap +inoremap +imap +" }}} +" Command mode ------------------------------------------------------- {{{ +cmap jj +cnoremap +cnoremap +cnoremap +cnoremap +cnoremap + + +if has("gui_running") +" only for Macvim D is Command key + cmap + cmap + + cnoremap + cnoremap + cnoremap +else + cnoremap b + cnoremap f + cnoremap d +endif +" delet a word left of cursor +cmap +" }}} +" Visual mode ------------------------------------------------------------- {{{ +"" key mapping for visul mode +vmap { +vmap } +"vmap 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 sj :FufBuffer +nnoremap sk :FufFileWithCurrentBufferDir +nnoremap sK :FufFileWithFullCwd +nnoremap s :FufFile +nnoremap sl :FufCoverageFileChange +nnoremap sL :FufCoverageFileChange +nnoremap s :FufCoverageFileRegister +nnoremap sd :FufDirWithCurrentBufferDir +nnoremap sD :FufDirWithFullCwd +nnoremap s :FufDir +nnoremap sn :FufMruFile +nnoremap sN :FufMruFileInCwd +nnoremap sm :FufMruCmd +nnoremap su :FufBookmarkFile +nnoremap s :FufBookmarkFileAdd +vnoremap s :FufBookmarkFileAddAsSelectedText +nnoremap si :FufBookmarkDir +nnoremap s :FufBookmarkDirAdd +nnoremap sT :FufTag +nnoremap st :FufTag! +nnoremap s :FufTagWithCursorWord! +nnoremap s, :FufBufferTag +nnoremap s< :FufBufferTag! +vnoremap s, :FufBufferTagWithSelectedText! +vnoremap s< :FufBufferTagWithSelectedText +nnoremap s} :FufBufferTagWithCursorWord! +"nnoremap s. :FufBufferTagAll +"nnoremap s> :FufBufferTagAll! +"vnoremap s. :FufBufferTagAllWithSelectedText! +"vnoremap s> :FufBufferTagAllWithSelectedText +"nnoremap s] :FufBufferTagAllWithCursorWord! +nnoremap sG :FufTaggedFile +nnoremap sg :FufTaggedFile! +nnoremap so :FufJumpList +nnoremap sp :FufChangeList +nnoremap sq :FufQuickfix +nnoremap sy :FufLine +" nnoremap sh :FufHelp +nnoremap se :FufEditDataFile +nnoremap sr :FufRenewCache +" }}} +" 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 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', + \ '' : 'V', + \ 's' : 'S', + \ 'S' : 'S', + \ '' : '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 n :NERDTreeToggle +nmap N :NERDTreeFind +" }}} +" AutoClose --------------------------------------------------------------- {{{ +let g:AutoCloseProtectedRegions = ["Dialog", "ThoughBubble"] +" }}} +" TagBar ------------------------------------------------------------------ {{{ +noremap f :TagbarTogglel +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 CmdlineCompletionBackward +cmap CmdlineCompletionForward +" }}} +" VSCCommand -------------------------------------------------------------- {{{ +"" ============== VCSCommand.vim ===================== +"let VCSCommandSVKExec='disabled no such executable' +let VCSCommandDeleteOnHide=1 +let VCSCommandDisableMappings=1 +"let VCSCommandEnableBufferSetup=1 +"nmap sd :VCSVimDiff +augroup VCSCommand + autocmd User VCSBufferCreated silent! nmap q :bwipeout | setlocal nomodifiable +augroup END +nmap dg :diffget +" }}} +" YankRing ---------------------------------------------------------------- {{{ +let g:yankring_min_element_length = 2 +nmap \r :YRShow +let g:yankring_replace_n_pkey = '>' +let g:yankring_replace_n_nkey = '' +let g:yankring_history_dir = "$HOME/.vim/temp/" +" }}} +" Gtags ------------------------------------------------------------------- {{{ +if has("gui_running") + noremap :Gtags + noremap :Gtags -r + noremap :Gtags -s + noremap :Gtags -g +else + noremap . :Gtags + noremap r :Gtags -r +" noremap j :Gtags -s + noremap g :Gtags -g +endif +" }}} +" Marks ------------------------------------------------------------------- {{{ +nmap \h MarkSet +nmap * MarkSearchNext +nmap # MarkSearchPrev +" }}} +" Gundo ------------------------------------------------------------------- {{{ +" nnoremap :GundoToggle +" }}} +" 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 DisableBookmarkToggle BookmarkToggle +nmap DisableBookmarkAnnotate BookmarkAnnotate +nmap DisableBookmarkShowAll BookmarkShowAll +nmap DisableBookmarkNext BookmarkNext +nmap DisableBookmarkPrev BookmarkPrev +nmap DisableBookmarkClear BookmarkClear +nmap DisableBookmarkClearAll BookmarkClearAll +" remapping +nmap mm BookmarkToggle +" nmap ,i BookmarkAnnotate +nmap \m BookmarkShowAll +let g:bookmark_center = 1 +let g:bookmark_auto_close = 1 +"let g:bookmark_highlight_lines = 1 +" nmap ,j BookmarkNext +" nmap ,k BookmarkPrev +" nmap ,c BookmarkClear +" nmap ,x 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 gj @=(&diff)?']czz':'gj' | + \ nnoremap gk @=(&diff)?'[czz':'gk' + +autocmd FileType qf nnoremap q :q | setlocal nowrap | setlocal nocursorline +autocmd FileType help nnoremap q :q | vertical resize 85; +autocmd FileType c,cpp setlocal foldmethod=syntax | + \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("\"", "{}") | + \ inoremap { {}kA +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 q :q + +" }}} +" 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(), ) +command! -bar -count=99999 FoldLMisses call s:FoldMisses(getloclist(0), ) +" }}} +" 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 \l :call ToggleList("Location List", 'l') +nmap \q :call ToggleList("Quickfix List", 'c') +" }}} +" 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() +"noremap d @=(&diff)?':diffoff':":VCSVimDiff" +" }}} + +" }}} + +"nnoremap @=(foldlevel('.')?'za':"\") +nnoremap @=(foldlevel('.')?'za':"\") +"noremap d @=(&diff)?':diffoff':":VCSVimDiff" + +" 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 -... =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 +" = ; +" , +" \ +" m +nnoremap B ^ +nnoremap E $ +nnoremap :cn +nnoremap :cp +"http://dougblack.io/words/a-good-vimrc.html +"nnoremap gV `[v`] +set nostartofline " don't jump to first character when paging +set nowrap + -- 2.11.0