From 5430828f3126c495ff75e702c8475a0671ba8091 Mon Sep 17 00:00:00 2001 From: Blubber Date: Sun, 23 Oct 2016 16:11:12 +0200 Subject: cleaned up and refactored vim settings --- .vim/colors/buddy.vim | 112 ----- .vim/colors/gruvbox.vim | 1218 --------------------------------------------- .vim/colors/pride.vim | 180 ------- .vim/colors/scheakur.vim | 130 ----- .vim/colors/solarized.vim | 1119 ----------------------------------------- .vim/install_vundle.sh | 15 - .vimrc | 309 ------------ README.md | 18 +- vim/colors/johannst.vim | 142 ++++++ vim/install_vundle.sh | 15 + vimrc | 283 +++++++++++ 11 files changed, 445 insertions(+), 3096 deletions(-) delete mode 100755 .vim/colors/buddy.vim delete mode 100644 .vim/colors/gruvbox.vim delete mode 100644 .vim/colors/pride.vim delete mode 100644 .vim/colors/scheakur.vim delete mode 100755 .vim/colors/solarized.vim delete mode 100755 .vim/install_vundle.sh delete mode 100644 .vimrc create mode 100755 vim/colors/johannst.vim create mode 100755 vim/install_vundle.sh create mode 100644 vimrc diff --git a/.vim/colors/buddy.vim b/.vim/colors/buddy.vim deleted file mode 100755 index d1e2839..0000000 --- a/.vim/colors/buddy.vim +++ /dev/null @@ -1,112 +0,0 @@ -" Vim color file - buddy_modified - -set background=dark -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif - -set t_Co=256 -let g:colors_name = "buddy" - -"hi IncSearch -- no settings -- -"hi WildMenu -- no settings -- -"hi SignColumn -- no settings -- -"hi CTagsMember -- no settings -- -"hi CTagsGlobalConstant -- no settings -- -"hi ErrorMsg -- no settings -- -"hi Ignore -- no settings -- -hi Normal guifg=#d9d9d9 guibg=#202020 guisp=#202020 gui=NONE ctermfg=253 ctermbg=234 cterm=NONE -"hi CTagsImport -- no settings -- -"hi Search -- no settings -- -"hi CTagsGlobalVariable -- no settings -- -"hi SpellRare -- no settings -- -"hi EnumerationValue -- no settings -- -"hi Union -- no settings -- -hi TabLine ctermbg=235 ctermfg=244 cterm=none -hi TabLineSel ctermbg=208 ctermfg=255 cterm=bold -hi TabLineFill ctermbg=235 ctermfg=0 cterm=NONE -"TODO if tabline activated -hi BufTabLineActive ctermbg=69 - -"hi Question -- no settings -- -"hi WarningMsg -- no settings -- -"hi VisualNOS -- no settings -- -"hi ModeMsg -- no settings -- -"hi FoldColumn -- no settings -- -"hi EnumerationName -- no settings -- -"hi MoreMsg -- no settings -- -"hi SpellCap -- no settings -- -"hi DiffChange -- no settings -- -"hi SpellLocal -- no settings -- -"hi Error -- no settings -- -"hi DefinedName -- no settings -- -"hi LocalVariable -- no settings -- -"hi SpellBad -- no settings -- -"hi CTagsClass -- no settings -- -"hi Directory -- no settings -- -"hi Underlined -- no settings -- -"hi clear -- no settings -- -hi SpecialComment guifg=#f3cf64 guibg=NONE guisp=NONE gui=NONE ctermfg=221 ctermbg=NONE cterm=NONE -hi Typedef guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi Title guifg=#fffcf0 guibg=NONE guisp=NONE gui=bold ctermfg=230 ctermbg=NONE cterm=bold -hi Folded guifg=#b8c1ca guibg=#384048 guisp=#384048 gui=NONE ctermfg=146 ctermbg=238 cterm=NONE -hi PreCondit guifg=#c25643 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Include guifg=#c25643 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Float guifg=#e66450 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi StatusLineNC guifg=#9f9385 guibg=#444444 guisp=#444444 gui=NONE ctermfg=144 ctermbg=238 cterm=NONE -hi NonText guifg=#9a9a9a guibg=#303030 guisp=#303030 gui=NONE ctermfg=247 ctermbg=236 cterm=NONE - -"hi DiffText guifg=NONE guibg=#575757 guisp=#575757 gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE -"hi DiffChange guifg=NONE guibg=#575757 guisp=#575757 gui=NONE ctermfg=NONE ctermbg=DarkMagenta cterm=NONE -"hi DiffAdd guifg=NONE guibg=#5b802c guisp=#5b802c gui=NONE ctermfg=NONE ctermbg=2 cterm=NONE -"hi DiffDelete guifg=NONE guibg=#8a3636 guisp=#8a3636 gui=NONE ctermfg=NONE ctermbg=95 cterm=NONE -hi DiffChange cterm=NONE ctermfg=10 ctermbg=17 -hi DiffText cterm=NONE ctermfg=10 ctermbg=88 -hi DiffAdd cterm=NONE ctermfg=10 ctermbg=17 -hi DiffDelete cterm=NONE ctermfg=10 ctermbg=17 - - -hi PMenu ctermfg=NONE ctermbg=235 cterm=NONE -hi PMenuSel ctermfg=255 ctermbg=208 cterm=NONE - -hi Debug guifg=#f0ffe2 guibg=NONE guisp=NONE gui=NONE ctermfg=194 ctermbg=NONE cterm=NONE -hi PMenuSbar guifg=NONE guibg=#000000 guisp=#000000 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -hi Identifier guifg=#f3cf64 guibg=NONE guisp=NONE gui=NONE ctermfg=221 ctermbg=NONE cterm=NONE -hi SpecialChar guifg=#b5eeff guibg=NONE guisp=NONE gui=NONE ctermfg=159 ctermbg=NONE cterm=NONE -hi Conditional guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi StorageClass guifg=#f0911d guibg=NONE guisp=NONE gui=NONE ctermfg=208 ctermbg=NONE cterm=NONE -hi Todo guifg=#a9a9a9 guibg=NONE guisp=NONE gui=italic ctermfg=248 ctermbg=NONE cterm=NONE -hi Special guifg=#f3cf64 guibg=NONE guisp=NONE gui=NONE ctermfg=221 ctermbg=NONE cterm=NONE -hi LineNr guifg=#4d4d4d guibg=#1d1d1d guisp=#1d1d1d gui=NONE ctermfg=239 ctermbg=234 cterm=NONE -hi StatusLine ctermbg=38 ctermfg=0 cterm=NONE term=NONE gui=NONE -hi Label guifg=#f3cf64 guibg=NONE guisp=NONE gui=NONE ctermfg=221 ctermbg=NONE cterm=NONE -hi Delimiter guifg=#f0ffe2 guibg=NONE guisp=NONE gui=NONE ctermfg=194 ctermbg=NONE cterm=NONE -hi Statement guifg=#ffdd00 guibg=NONE guisp=NONE gui=NONE ctermfg=220 ctermbg=NONE cterm=NONE -hi Comment guifg=#b3b0a3 guibg=NONE guisp=NONE gui=italic ctermfg=144 ctermbg=NONE cterm=NONE -hi Character guifg=#e66450 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Number guifg=#e66450 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Boolean guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi Operator guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi CursorLine guifg=NONE guibg=#2d2d2d guisp=#2d2d2d gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE -hi CursorColumn guifg=NONE guibg=#2d2d2d guisp=#2d2d2d gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE -hi Define guifg=#c25643 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Function guifg=#f0811f guibg=NONE guisp=NONE gui=NONE ctermfg=208 ctermbg=NONE cterm=NONE -hi PreProc guifg=#cc442f guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Visual guifg=#fffcf0 guibg=#444444 guisp=#444444 gui=NONE ctermfg=230 ctermbg=238 cterm=NONE -hi VertSplit guifg=#5e5e5e guibg=#444444 guisp=#444444 gui=NONE ctermfg=59 ctermbg=238 cterm=NONE -hi Exception guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi Keyword guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi Type guifg=#ffb700 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE -hi Cursor guifg=NONE guibg=#656565 guisp=#656565 gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE -hi SpecialKey guifg=#9a9a9a guibg=#343434 guisp=#343434 gui=NONE ctermfg=247 ctermbg=236 cterm=NONE -hi Constant guifg=#e66450 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE -hi Tag guifg=#f0ffe2 guibg=NONE guisp=NONE gui=NONE ctermfg=194 ctermbg=NONE cterm=NONE -hi String guifg=#5dd2fd guibg=NONE guisp=NONE gui=NONE ctermfg=81 ctermbg=NONE cterm=NONE -hi PMenuThumb guifg=NONE guibg=#857b6f guisp=#857b6f gui=NONE ctermfg=NONE ctermbg=101 cterm=NONE -hi MatchParen guifg=#fffcf0 guibg=#857b6f guisp=#857b6f gui=bold ctermfg=230 ctermbg=101 cterm=bold -hi Repeat guifg=#fff200 guibg=NONE guisp=NONE gui=NONE ctermfg=11 ctermbg=NONE cterm=NONE -hi Structure guifg=#ffb700 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE -hi Macro guifg=#c25643 guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE diff --git a/.vim/colors/gruvbox.vim b/.vim/colors/gruvbox.vim deleted file mode 100644 index fe3835c..0000000 --- a/.vim/colors/gruvbox.vim +++ /dev/null @@ -1,1218 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Vim -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 04 Sep 2015 -" ----------------------------------------------------------------------------- - -" Supporting code ------------------------------------------------------------- -" Initialisation: {{{ - -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif - -let g:colors_name='gruvbox' - -if !has('gui_running') && &t_Co != 256 - finish -endif - -" }}} -" Global Settings: {{{ - -if !exists('g:gruvbox_bold') - let g:gruvbox_bold=1 -endif -if !exists('g:gruvbox_italic') - if has('gui_running') || $TERM_ITALICS == 'true' - let g:gruvbox_italic=1 - else - let g:gruvbox_italic=0 - endif -endif -if !exists('g:gruvbox_undercurl') - let g:gruvbox_undercurl=1 -endif -if !exists('g:gruvbox_underline') - let g:gruvbox_underline=1 -endif -if !exists('g:gruvbox_inverse') - let g:gruvbox_inverse=1 -endif - -if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='NONE' -endif - -if !exists('g:gruvbox_improved_strings') - let g:gruvbox_improved_strings=0 -endif - -if !exists('g:gruvbox_improved_warnings') - let g:gruvbox_improved_warnings=0 -endif - -if !exists('g:gruvbox_termcolors') - let g:gruvbox_termcolors=256 -endif - -if !exists('g:gruvbox_invert_indent_guides') - let g:gruvbox_invert_indent_guides=0 -endif - -if exists('g:gruvbox_contrast') - echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' -endif - -if !exists('g:gruvbox_contrast_dark') - let g:gruvbox_contrast_dark='medium' -endif - -if !exists('g:gruvbox_contrast_light') - let g:gruvbox_contrast_light='medium' -endif - -let s:is_dark=(&background == 'dark') - -" }}} -" Palette: {{{ - -" setup palette dictionary -let s:gb = {} - -" fill it with absolute colors -let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 -let s:gb.dark0 = ['#282828', 235] " 40-40-40 -let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 -let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 -let s:gb.dark2 = ['#504945', 239] " 80-73-69 -let s:gb.dark3 = ['#665c54', 241] " 102-92-84 -let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 -let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 - -let s:gb.gray_245 = ['#928374', 245] " 146-131-116 -let s:gb.gray_244 = ['#928374', 244] " 146-131-116 - -let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 -let s:gb.light0 = ['#fdf4c1', 229] " 253-244-193 -let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 -let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 -let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 -let s:gb.light3 = ['#bdae93', 248] " 189-174-147 -let s:gb.light4 = ['#a89984', 246] " 168-153-132 -let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 - -let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 -let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 -let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 -let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 -let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 -let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 -let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 - -let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 -let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 -let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 -let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 -let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 -let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 -let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 - -let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 -let s:gb.faded_green = ['#79740e', 100] " 121-116-14 -let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 -let s:gb.faded_blue = ['#076678', 24] " 7-102-120 -let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 -let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 -let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 - -" }}} -" Setup Emphasis: {{{ - -let s:bold = 'bold,' -if g:gruvbox_bold == 0 - let s:bold = '' -endif - -let s:italic = 'italic,' -if g:gruvbox_italic == 0 - let s:italic = '' -endif - -let s:underline = 'underline,' -if g:gruvbox_underline == 0 - let s:underline = '' -endif - -let s:undercurl = 'undercurl,' -if g:gruvbox_undercurl == 0 - let s:undercurl = '' -endif - -let s:inverse = 'inverse,' -if g:gruvbox_inverse == 0 - let s:inverse = '' -endif - -" }}} -" Setup Colors: {{{ - -let s:vim_bg = ['bg', 'bg'] -let s:vim_fg = ['fg', 'fg'] -let s:none = ['NONE', 'NONE'] - -" determine relative colors -if s:is_dark - let s:bg0 = s:gb.dark0 - if g:gruvbox_contrast_dark == 'soft' - let s:bg0 = s:gb.dark0_soft - elseif g:gruvbox_contrast_dark == 'hard' - let s:bg0 = s:gb.dark0_hard - endif - - let s:bg1 = s:gb.dark1 - let s:bg2 = s:gb.dark2 - let s:bg3 = s:gb.dark3 - let s:bg4 = s:gb.dark4 - - let s:gray = s:gb.gray_245 - - let s:fg0 = s:gb.light0 - let s:fg1 = s:gb.light1 - let s:fg2 = s:gb.light2 - let s:fg3 = s:gb.light3 - let s:fg4 = s:gb.light4 - - let s:fg4_256 = s:gb.light4_256 - - let s:red = s:gb.bright_red - let s:green = s:gb.bright_green - let s:yellow = s:gb.bright_yellow - let s:blue = s:gb.bright_blue - let s:purple = s:gb.bright_purple - let s:aqua = s:gb.bright_aqua - let s:orange = s:gb.bright_orange -else - let s:bg0 = s:gb.light0 - if g:gruvbox_contrast_light == 'soft' - let s:bg0 = s:gb.light0_soft - elseif g:gruvbox_contrast_light == 'hard' - let s:bg0 = s:gb.light0_hard - endif - - let s:bg1 = s:gb.light1 - let s:bg2 = s:gb.light2 - let s:bg3 = s:gb.light3 - let s:bg4 = s:gb.light4 - - let s:gray = s:gb.gray_244 - - let s:fg0 = s:gb.dark0 - let s:fg1 = s:gb.dark1 - let s:fg2 = s:gb.dark2 - let s:fg3 = s:gb.dark3 - let s:fg4 = s:gb.dark4 - - let s:fg4_256 = s:gb.dark4_256 - - let s:red = s:gb.faded_red - let s:green = s:gb.faded_green - let s:yellow = s:gb.faded_yellow - let s:blue = s:gb.faded_blue - let s:purple = s:gb.faded_purple - let s:aqua = s:gb.faded_aqua - let s:orange = s:gb.faded_orange -endif - -" reset to 16 colors fallback -if g:gruvbox_termcolors == 16 - let s:bg0[1] = 0 - let s:fg4[1] = 7 - let s:gray[1] = 8 - let s:red[1] = 9 - let s:green[1] = 10 - let s:yellow[1] = 11 - let s:blue[1] = 12 - let s:purple[1] = 13 - let s:aqua[1] = 14 - let s:fg1[1] = 15 -endif - -" save current relative colors back to palette dictionary -let s:gb.bg0 = s:bg0 -let s:gb.bg1 = s:bg1 -let s:gb.bg2 = s:bg2 -let s:gb.bg3 = s:bg3 -let s:gb.bg4 = s:bg4 - -let s:gb.gray = s:gray - -let s:gb.fg0 = s:fg0 -let s:gb.fg1 = s:fg1 -let s:gb.fg2 = s:fg2 -let s:gb.fg3 = s:fg3 -let s:gb.fg4 = s:fg4 - -let s:gb.fg4_256 = s:fg4_256 - -let s:gb.red = s:red -let s:gb.green = s:green -let s:gb.yellow = s:yellow -let s:gb.blue = s:blue -let s:gb.purple = s:purple -let s:gb.aqua = s:aqua -let s:gb.orange = s:orange - -" }}} - -" Overload Setting: {{{ - -let s:hls_cursor = s:orange -if exists('g:gruvbox_hls_cursor') - let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) -endif - -let s:number_column = s:bg4 -let s:sign_column = s:bg1 - -if exists('g:gitgutter_override_sign_column_highlight') && - \ g:gitgutter_override_sign_column_highlight == 1 - let s:sign_column = s:number_column -else - let g:gitgutter_override_sign_column_highlight = 0 - - if exists('g:gruvbox_sign_column') - let s:sign_column = get(s:gb, g:gruvbox_sign_column) - endif -endif - -let s:color_column = s:bg1 -if exists('g:gruvbox_color_column') - let s:color_column = get(s:gb, g:gruvbox_color_column) -endif - -let s:vert_split = s:bg2 -if exists('g:gruvbox_vert_split') - let s:vert_split = get(s:gb, g:gruvbox_vert_split) -endif - -let s:invert_signs = '' -if exists('g:gruvbox_invert_signs') - if g:gruvbox_invert_signs == 1 - let s:invert_signs = s:inverse - endif -endif - -let s:invert_selection = s:inverse -if exists('g:gruvbox_invert_selection') - if g:gruvbox_invert_selection == 0 - let s:invert_selection = '' - endif -endif - -let s:invert_tabline = '' -if exists('g:gruvbox_invert_tabline') - if g:gruvbox_invert_tabline == 1 - let s:invert_tabline = s:inverse - endif -endif - -let s:italicize_comments = s:italic -if exists('g:gruvbox_italicize_comments') - if g:gruvbox_italicize_comments == 0 - let s:italicize_comments = '' - endif -endif - -let s:italicize_strings = '' -if exists('g:gruvbox_italicize_strings') - if g:gruvbox_italicize_strings == 1 - let s:italicize_strings = s:italic - endif -endif - -" }}} -" Highlighting Function: {{{ - -function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp - - " foreground - let fg = a:fg - - " background - if a:0 >= 1 - let bg = a:1 - else - let bg = s:none - endif - - " emphasis - if a:0 >= 2 && strlen(a:2) - let emstr = a:2 - else - let emstr = 'NONE,' - endif - - " special fallback - if a:0 >= 3 - if g:gruvbox_guisp_fallback != 'NONE' - let fg = a:3 - endif - - " bg fallback mode should invert higlighting - if g:gruvbox_guisp_fallback == 'bg' - let emstr .= 'inverse,' - endif - endif - - let histring = [ 'hi', a:group, - \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], - \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], - \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] - \ ] - - " special - if a:0 >= 3 - call add(histring, 'guisp=' . a:3[0]) - endif - - execute join(histring, ' ') -endfunction - -" }}} -" Gruvbox Hi Groups: {{{ - -" memoize common hi groups -call s:HL('GruvboxFg0', s:fg0) -call s:HL('GruvboxFg1', s:fg1) -call s:HL('GruvboxFg2', s:fg2) -call s:HL('GruvboxFg3', s:fg3) -call s:HL('GruvboxFg4', s:fg4) -call s:HL('GruvboxGray', s:gray) -call s:HL('GruvboxBg0', s:bg0) -call s:HL('GruvboxBg1', s:bg1) -call s:HL('GruvboxBg2', s:bg2) -call s:HL('GruvboxBg3', s:bg3) -call s:HL('GruvboxBg4', s:bg4) - -call s:HL('GruvboxRed', s:red) -call s:HL('GruvboxRedBold', s:red, s:none, s:bold) -call s:HL('GruvboxGreen', s:green) -call s:HL('GruvboxGreenBold', s:green, s:none, s:bold) -call s:HL('GruvboxYellow', s:yellow) -call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold) -call s:HL('GruvboxBlue', s:blue) -call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold) -call s:HL('GruvboxPurple', s:purple) -call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold) -call s:HL('GruvboxAqua', s:aqua) -call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold) -call s:HL('GruvboxOrange', s:orange) -call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold) - -call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs) -call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs) -call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs) -call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs) -call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs) -call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs) - -" }}} - -" Vanilla colorscheme --------------------------------------------------------- -" General UI: {{{ - -" Normal text -call s:HL('Normal', s:fg1, s:bg0) - -" Correct background (see issue #7): -" --- Problem with changing between dark and light on 256 color terminal -" --- https://github.com/morhetz/gruvbox/issues/7 -if s:is_dark - set background=dark -else - set background=light -endif - -if version >= 700 - " Screen line that the cursor is - call s:HL('CursorLine', s:none, s:bg1) - " Screen column that the cursor is - hi! link CursorColumn CursorLine - - " Tab pages line filler - call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) - " Active tab page label - call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) - " Not active tab page label - hi! link TabLine TabLineFill - - " Match paired bracket under the cursor - call s:HL('MatchParen', s:none, s:bg3, s:bold) -endif - -if version >= 703 - " Highlighted screen columns - call s:HL('ColorColumn', s:none, s:color_column) - - " Concealed element: \lambda → λ - call s:HL('Conceal', s:blue, s:none) - - " Line number of CursorLine - call s:HL('CursorLineNr', s:yellow, s:bg1) -endif - -hi! link NonText GruvboxBg2 -hi! link SpecialKey GruvboxBg2 - -call s:HL('Visual', s:none, s:bg3, s:invert_selection) -hi! link VisualNOS Visual - -call s:HL('Search', s:bg0, s:yellow) -call s:HL('IncSearch', s:bg0, s:hls_cursor) - -call s:HL('Underlined', s:blue, s:none, s:underline) - -call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse) -call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse) - -" The column separating vertically split windows -call s:HL('VertSplit', s:fg4, s:vert_split) - -" Current match in wildmenu completion -call s:HL('WildMenu', s:blue, s:bg2, s:bold) - -" Directory names, special names in listing -hi! link Directory GruvboxGreenBold - -" Titles for output from :set all, :autocmd, etc. -hi! link Title GruvboxGreenBold - -" Error messages on the command line -call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) -" More prompt: -- More -- -hi! link MoreMsg GruvboxYellowBold -" Current mode message: -- INSERT -- -hi! link ModeMsg GruvboxYellowBold -" 'Press enter' prompt and yes/no questions -hi! link Question GruvboxOrangeBold -" Warning messages -hi! link WarningMsg GruvboxRedBold - -" }}} -" Gutter: {{{ - -" Line number for :number and :# commands -call s:HL('LineNr', s:number_column) - -" Column where signs are displayed -call s:HL('SignColumn', s:none, s:sign_column) - -" Line used for closed folds -call s:HL('Folded', s:gray, s:bg1, s:italic) -" Column where folds are displayed -call s:HL('FoldColumn', s:gray, s:bg1) - -" }}} -" Cursor: {{{ - -" Character under cursor -call s:HL('Cursor', s:none, s:none, s:inverse) -" Visual mode cursor, selection -hi! link vCursor Cursor -" Input moder cursor -hi! link iCursor Cursor -" Language mapping cursor -hi! link lCursor Cursor - -" }}} -" Syntax Highlighting: {{{ - -if g:gruvbox_improved_strings == 0 - hi! link Special GruvboxOrange -else - call s:HL('Special', s:bg1, s:orange, s:italic) -endif - -call s:HL('Comment', s:gray, s:none, s:italicize_comments) -call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) - -" Generic statement -hi! link Statement GruvboxRed -" if, then, else, endif, swicth, etc. -hi! link Conditional GruvboxRed -" for, do, while, etc. -hi! link Repeat GruvboxRed -" case, default, etc. -hi! link Label GruvboxRed -" try, catch, throw -hi! link Exception GruvboxRed -" sizeof, "+", "*", etc. -hi! link Operator Normal -" Any other keyword -hi! link Keyword GruvboxRed - -" Variable name -hi! link Identifier GruvboxBlue -" Function name -hi! link Function GruvboxGreenBold - -" Generic preprocessor -hi! link PreProc GruvboxAqua -" Preprocessor #include -hi! link Include GruvboxAqua -" Preprocessor #define -hi! link Define GruvboxAqua -" Same as Define -hi! link Macro GruvboxAqua -" Preprocessor #if, #else, #endif, etc. -hi! link PreCondit GruvboxAqua - -" Generic constant -hi! link Constant GruvboxPurple -" Character constant: 'c', '/n' -hi! link Character GruvboxPurple -" String constant: "this is a string" -if g:gruvbox_improved_strings == 0 - call s:HL('String', s:green, s:none, s:italicize_strings) -else - call s:HL('String', s:bg1, s:fg1, s:italicize_strings) -endif -" Boolean constant: TRUE, false -hi! link Boolean GruvboxPurple -" Number constant: 234, 0xff -hi! link Number GruvboxPurple -" Floating point constant: 2.3e10 -hi! link Float GruvboxPurple - -" Generic type -hi! link Type GruvboxYellow -" static, register, volatile, etc -hi! link StorageClass GruvboxOrange -" struct, union, enum, etc. -hi! link Structure GruvboxAqua -" typedef -hi! link Typedef GruvboxYellow - -" }}} -" Completion Menu: {{{ - -if version >= 700 - " Popup menu: normal item - call s:HL('Pmenu', s:fg1, s:bg2) - " Popup menu: selected item - call s:HL('PmenuSel', s:bg2, s:blue, s:bold) - " Popup menu: scrollbar - call s:HL('PmenuSbar', s:none, s:bg2) - " Popup menu: scrollbar thumb - call s:HL('PmenuThumb', s:none, s:bg4) -endif - -" }}} -" Diffs: {{{ - -call s:HL('DiffDelete', s:red, s:bg0, s:inverse) -call s:HL('DiffAdd', s:green, s:bg0, s:inverse) -"call s:HL('DiffChange', s:bg0, s:blue) -"call s:HL('DiffText', s:bg0, s:yellow) - -" Alternative setting -call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) -call s:HL('DiffText', s:yellow, s:bg0, s:inverse) - -" }}} -" Spelling: {{{ - -if has("spell") - " Not capitalised word, or compile warnings - if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) - else - call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) - endif - " Not recognized word - call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) - " Wrong spelling for selected region - call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) - " Rare word - call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) -endif - -" }}} - -" Plugin specific ------------------------------------------------------------- -" EasyMotion: {{{ - -hi! link EasyMotionTarget Search -hi! link EasyMotionShade Comment - -" }}} -" Sneak: {{{ - -hi! link SneakPluginTarget Search -hi! link SneakStreakTarget Search -call s:HL('SneakStreakMask', s:yellow, s:yellow) -hi! link SneakStreakStatusLine Search - -" }}} -" Indent Guides: {{{ - -if !exists('g:indent_guides_auto_colors') - let g:indent_guides_auto_colors = 0 -endif - -if g:indent_guides_auto_colors == 0 - if g:gruvbox_invert_indent_guides == 0 - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) - else - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) - endif -endif - -" }}} -" IndentLine: {{{ - -if !exists('g:indentLine_color_term') - let g:indentLine_color_term = s:bg2[1] -endif -if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = s:bg2[0] -endif - -" }}} -" Rainbow Parentheses: {{{ - -if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = - \ [ - \ ['blue', '#458588'], ['magenta', '#b16286'], - \ ['red', '#cc241d'], ['166', '#d65d0e'] - \ ] -endif - -let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] -let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] - -if !exists('g:rainbow_conf') - let g:rainbow_conf = {} -endif -if !has_key(g:rainbow_conf, 'guifgs') - let g:rainbow_conf['guifgs'] = g:rainbow_guifgs -endif -if !has_key(g:rainbow_conf, 'ctermfgs') - let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs -endif - -let g:niji_dark_colours = g:rbpt_colorpairs -let g:niji_light_colours = g:rbpt_colorpairs - -"}}} -" GitGutter: {{{ - -hi! link GitGutterAdd GruvboxGreenSign -hi! link GitGutterChange GruvboxAquaSign -hi! link GitGutterDelete GruvboxRedSign -hi! link GitGutterChangeDelete GruvboxAquaSign - -" }}} -" GitCommit: "{{{ - -hi! link gitcommitSelectedFile GruvboxGreen -hi! link gitcommitDiscardedFile GruvboxRed - -" }}} -" Signify: {{{ - -hi! link SignifySignAdd GruvboxGreenSign -hi! link SignifySignChange GruvboxAquaSign -hi! link SignifySignDelete GruvboxRedSign - -" }}} -" Syntastic: {{{ - -call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) -call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) - -hi! link SyntasticErrorSign GruvboxRedSign -hi! link SyntasticWarningSign GruvboxYellowSign - -" }}} -" Signature: {{{ -hi! link SignatureMarkText GruvboxBlueSign -hi! link SignatureMarkerText GruvboxPurpleSign - -" }}} -" ShowMarks: {{{ - -hi! link ShowMarksHLl GruvboxBlueSign -hi! link ShowMarksHLu GruvboxBlueSign -hi! link ShowMarksHLo GruvboxBlueSign -hi! link ShowMarksHLm GruvboxBlueSign - -" }}} -" CtrlP: {{{ - -hi! link CtrlPMatch GruvboxYellow -hi! link CtrlPNoEntries GruvboxRed -hi! link CtrlPPrtBase GruvboxBg2 -hi! link CtrlPPrtCursor GruvboxBlue -hi! link CtrlPLinePre GruvboxBg2 - -call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) -call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) -call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) - -" }}} -" Startify: {{{ - -hi! link StartifyBracket GruvboxFg3 -hi! link StartifyFile GruvboxFg0 -hi! link StartifyNumber GruvboxBlue -hi! link StartifyPath GruvboxGray -hi! link StartifySlash GruvboxGray -hi! link StartifySection GruvboxYellow -hi! link StartifySpecial GruvboxBg2 -hi! link StartifyHeader GruvboxOrange -hi! link StartifyFooter GruvboxBg2 - -" }}} -" Vimshell: {{{ - -let g:vimshell_escape_colors = [ - \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], - \ s:bg0[0], s:red[0], s:green[0], s:orange[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] - \ ] - -" }}} -" BufTabLine: {{{ - -call s:HL('BufTabLineCurrent', s:bg0, s:fg4) -call s:HL('BufTabLineActive', s:fg4, s:bg2) -call s:HL('BufTabLineHidden', s:bg4, s:bg1) -call s:HL('BufTabLineFill', s:bg0, s:bg0) - -" }}} - -" Filetype specific ----------------------------------------------------------- -" Diff: {{{ - -hi! link diffAdded GruvboxGreen -hi! link diffRemoved GruvboxRed -hi! link diffChanged GruvboxAqua - -hi! link diffFile GruvboxOrange -hi! link diffNewFile GruvboxYellow - -hi! link diffLine GruvboxBlue - -" }}} -" Html: {{{ - -hi! link htmlTag GruvboxBlue -hi! link htmlEndTag GruvboxBlue - -hi! link htmlTagName GruvboxAquaBold -hi! link htmlArg GruvboxAqua - -hi! link htmlScriptTag GruvboxPurple -hi! link htmlTagN GruvboxFg1 -hi! link htmlSpecialTagName GruvboxAquaBold - -call s:HL('htmlLink', s:fg4, s:none, s:underline) - -hi! link htmlSpecialChar GruvboxOrange - -call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) -call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) -call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) - -call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) -call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) -call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) - -" }}} -" Xml: {{{ - -hi! link xmlTag GruvboxBlue -hi! link xmlEndTag GruvboxBlue -hi! link xmlTagName GruvboxBlue -hi! link xmlEqual GruvboxBlue -hi! link docbkKeyword GruvboxAquaBold - -hi! link xmlDocTypeDecl GruvboxGray -hi! link xmlDocTypeKeyword GruvboxPurple -hi! link xmlCdataStart GruvboxGray -hi! link xmlCdataCdata GruvboxPurple -hi! link dtdFunction GruvboxGray -hi! link dtdTagName GruvboxPurple - -hi! link xmlAttrib GruvboxAqua -hi! link xmlProcessingDelim GruvboxGray -hi! link dtdParamEntityPunct GruvboxGray -hi! link dtdParamEntityDPunct GruvboxGray -hi! link xmlAttribPunct GruvboxGray - -hi! link xmlEntity GruvboxOrange -hi! link xmlEntityPunct GruvboxOrange -" }}} -" Vim: {{{ - -call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) - -hi! link vimNotation GruvboxOrange -hi! link vimBracket GruvboxOrange -hi! link vimMapModKey GruvboxOrange -hi! link vimFuncSID GruvboxFg3 -hi! link vimSetSep GruvboxFg3 -hi! link vimSep GruvboxFg3 -hi! link vimContinue GruvboxFg3 - -" }}} -" Clojure: {{{ - -hi! link clojureKeyword GruvboxBlue -hi! link clojureCond GruvboxOrange -hi! link clojureSpecial GruvboxOrange -hi! link clojureDefine GruvboxOrange - -hi! link clojureFunc GruvboxYellow -hi! link clojureRepeat GruvboxYellow -hi! link clojureCharacter GruvboxAqua -hi! link clojureStringEscape GruvboxAqua -hi! link clojureException GruvboxRed - -hi! link clojureRegexp GruvboxAqua -hi! link clojureRegexpEscape GruvboxAqua -call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) -hi! link clojureRegexpMod clojureRegexpCharClass -hi! link clojureRegexpQuantifier clojureRegexpCharClass - -hi! link clojureParen GruvboxFg3 -hi! link clojureAnonArg GruvboxYellow -hi! link clojureVariable GruvboxBlue -hi! link clojureMacro GruvboxOrange - -hi! link clojureMeta GruvboxYellow -hi! link clojureDeref GruvboxYellow -hi! link clojureQuote GruvboxYellow -hi! link clojureUnquote GruvboxYellow - -" }}} -" C: {{{ - -hi! link cOperator GruvboxPurple -hi! link cStructure GruvboxOrange - -" }}} -" Python: {{{ - -hi! link pythonBuiltin GruvboxOrange -hi! link pythonBuiltinObj GruvboxOrange -hi! link pythonBuiltinFunc GruvboxOrange -hi! link pythonFunction GruvboxAqua -hi! link pythonDecorator GruvboxRed -hi! link pythonInclude GruvboxBlue -hi! link pythonImport GruvboxBlue -hi! link pythonRun GruvboxBlue -hi! link pythonCoding GruvboxBlue -hi! link pythonOperator GruvboxRed -hi! link pythonExceptions GruvboxPurple -hi! link pythonBoolean GruvboxPurple -hi! link pythonDot GruvboxFg3 - -" }}} -" CSS: {{{ - -hi! link cssBraces GruvboxBlue -hi! link cssFunctionName GruvboxYellow -hi! link cssIdentifier GruvboxOrange -hi! link cssClassName GruvboxGreen -hi! link cssColor GruvboxBlue -hi! link cssSelectorOp GruvboxBlue -hi! link cssSelectorOp2 GruvboxBlue -hi! link cssImportant GruvboxGreen -hi! link cssVendor GruvboxFg1 - -hi! link cssTextProp GruvboxAqua -hi! link cssAnimationProp GruvboxAqua -hi! link cssUIProp GruvboxYellow -hi! link cssTransformProp GruvboxAqua -hi! link cssTransitionProp GruvboxAqua -hi! link cssPrintProp GruvboxAqua -hi! link cssPositioningProp GruvboxYellow -hi! link cssBoxProp GruvboxAqua -hi! link cssFontDescriptorProp GruvboxAqua -hi! link cssFlexibleBoxProp GruvboxAqua -hi! link cssBorderOutlineProp GruvboxAqua -hi! link cssBackgroundProp GruvboxAqua -hi! link cssMarginProp GruvboxAqua -hi! link cssListProp GruvboxAqua -hi! link cssTableProp GruvboxAqua -hi! link cssFontProp GruvboxAqua -hi! link cssPaddingProp GruvboxAqua -hi! link cssDimensionProp GruvboxAqua -hi! link cssRenderProp GruvboxAqua -hi! link cssColorProp GruvboxAqua -hi! link cssGeneratedContentProp GruvboxAqua - -" }}} -" JavaScript: {{{ - -hi! link javaScriptBraces GruvboxFg1 -hi! link javaScriptFunction GruvboxAqua -hi! link javaScriptIdentifier GruvboxRed -hi! link javaScriptMember GruvboxBlue -hi! link javaScriptNumber GruvboxPurple -hi! link javaScriptNull GruvboxPurple -hi! link javaScriptParens GruvboxFg3 - -" }}} -" YAJS: {{{ - -hi! link javascriptImport GruvboxAqua -hi! link javascriptExport GruvboxAqua -hi! link javascriptClassKeyword GruvboxAqua -hi! link javascriptClassExtends GruvboxAqua -hi! link javascriptDefault GruvboxAqua - -hi! link javascriptClassName GruvboxYellow -hi! link javascriptClassSuperName GruvboxYellow -hi! link javascriptGlobal GruvboxYellow - -hi! link javascriptEndColons GruvboxFg1 -hi! link javascriptFuncArg GruvboxFg1 -hi! link javascriptGlobalMethod GruvboxFg1 -hi! link javascriptNodeGlobal GruvboxFg1 - -" hi! link javascriptVariable GruvboxOrange -hi! link javascriptVariable GruvboxRed -" hi! link javascriptIdentifier GruvboxOrange -" hi! link javascriptClassSuper GruvboxOrange -hi! link javascriptIdentifier GruvboxOrange -hi! link javascriptClassSuper GruvboxOrange - -" hi! link javascriptFuncKeyword GruvboxOrange -" hi! link javascriptAsyncFunc GruvboxOrange -hi! link javascriptFuncKeyword GruvboxAqua -hi! link javascriptAsyncFunc GruvboxAqua -hi! link javascriptClassStatic GruvboxOrange - -hi! link javascriptOperator GruvboxRed -hi! link javascriptForOperator GruvboxRed -hi! link javascriptYield GruvboxRed -hi! link javascriptExceptions GruvboxRed -hi! link javascriptMessage GruvboxRed - -hi! link javascriptTemplateSB GruvboxAqua -hi! link javascriptTemplateSubstitution GruvboxFg1 - -" hi! link javascriptLabel GruvboxBlue -" hi! link javascriptObjectLabel GruvboxBlue -" hi! link javascriptPropertyName GruvboxBlue -hi! link javascriptLabel GruvboxFg1 -hi! link javascriptObjectLabel GruvboxFg1 -hi! link javascriptPropertyName GruvboxFg1 - -hi! link javascriptLogicSymbols GruvboxFg1 -hi! link javascriptArrowFunc GruvboxFg1 - -hi! link javascriptDocParamName GruvboxFg4 -hi! link javascriptDocTags GruvboxFg4 -hi! link javascriptDocNotation GruvboxFg4 -hi! link javascriptDocParamType GruvboxFg4 -hi! link javascriptDocNamedParamType GruvboxFg4 - -" }}} -" CoffeeScript: {{{ - -hi! link coffeeExtendedOp GruvboxFg3 -hi! link coffeeSpecialOp GruvboxFg3 -hi! link coffeeCurly GruvboxOrange -hi! link coffeeParen GruvboxFg3 -hi! link coffeeBracket GruvboxOrange - -" }}} -" Ruby: {{{ - -hi! link rubyStringDelimiter GruvboxGreen -hi! link rubyInterpolationDelimiter GruvboxAqua - -" }}} -" ObjectiveC: {{{ - -hi! link objcTypeModifier GruvboxRed -hi! link objcDirective GruvboxBlue - -" }}} -" Go: {{{ - -hi! link goDirective GruvboxAqua -hi! link goConstants GruvboxPurple -hi! link goDeclaration GruvboxRed -hi! link goDeclType GruvboxBlue -hi! link goBuiltins GruvboxOrange - -" }}} -" Lua: {{{ - -hi! link luaIn GruvboxRed -hi! link luaFunction GruvboxAqua -hi! link luaTable GruvboxOrange - -" }}} -" MoonScript: {{{ - -hi! link moonSpecialOp GruvboxFg3 -hi! link moonExtendedOp GruvboxFg3 -hi! link moonFunction GruvboxFg3 -hi! link moonObject GruvboxYellow - -" }}} -" Java: {{{ - -hi! link javaAnnotation GruvboxBlue -hi! link javaDocTags GruvboxAqua -hi! link javaCommentTitle vimCommentTitle -hi! link javaParen GruvboxFg3 -hi! link javaParen1 GruvboxFg3 -hi! link javaParen2 GruvboxFg3 -hi! link javaParen3 GruvboxFg3 -hi! link javaParen4 GruvboxFg3 -hi! link javaParen5 GruvboxFg3 -hi! link javaOperator GruvboxOrange - -hi! link javaVarArg GruvboxGreen - -" }}} -" Elixir: {{{ - -hi! link elixirDocString Comment - -hi! link elixirStringDelimiter GruvboxGreen -hi! link elixirInterpolationDelimiter GruvboxAqua - -" }}} -" Scala: {{{ - -" NB: scala vim syntax file is kinda horrible -hi! link scalaNameDefinition GruvboxFg1 -hi! link scalaCaseFollowing GruvboxFg1 -hi! link scalaCapitalWord GruvboxFg1 -hi! link scalaTypeExtension GruvboxFg1 - -hi! link scalaKeyword GruvboxRed -hi! link scalaKeywordModifier GruvboxRed - -hi! link scalaSpecial GruvboxAqua -hi! link scalaOperator GruvboxFg1 - -hi! link scalaTypeDeclaration GruvboxYellow -hi! link scalaTypeTypePostDeclaration GruvboxYellow - -hi! link scalaInstanceDeclaration GruvboxFg1 -hi! link scalaInterpolation GruvboxAqua - -" }}} -" Markdown: {{{ - -call s:HL('markdownItalic', s:fg3, s:none, s:italic) - -hi! link markdownH1 GruvboxGreenBold -hi! link markdownH2 GruvboxGreenBold -hi! link markdownH3 GruvboxYellowBold -hi! link markdownH4 GruvboxYellowBold -hi! link markdownH5 GruvboxYellow -hi! link markdownH6 GruvboxYellow - -hi! link markdownCode GruvboxAqua -hi! link markdownCodeBlock GruvboxAqua -hi! link markdownCodeDelimiter GruvboxAqua - -hi! link markdownBlockquote GruvboxGray -hi! link markdownListMarker GruvboxGray -hi! link markdownOrderedListMarker GruvboxGray -hi! link markdownRule GruvboxGray -hi! link markdownHeadingRule GruvboxGray - -hi! link markdownUrlDelimiter GruvboxFg3 -hi! link markdownLinkDelimiter GruvboxFg3 -hi! link markdownLinkTextDelimiter GruvboxFg3 - -hi! link markdownHeadingDelimiter GruvboxOrange -hi! link markdownUrl GruvboxPurple -hi! link markdownUrlTitleDelimiter GruvboxGreen - -call s:HL('markdownLinkText', s:gray, s:none, s:underline) -hi! link markdownIdDeclaration markdownLinkText - -" }}} -" Haskell: {{{ - -" hi! link haskellType GruvboxYellow -" hi! link haskellOperators GruvboxOrange -" hi! link haskellConditional GruvboxAqua -" hi! link haskellLet GruvboxOrange -" -hi! link haskellType GruvboxFg1 -hi! link haskellIdentifier GruvboxFg1 -hi! link haskellSeparator GruvboxFg1 -hi! link haskellDelimiter GruvboxFg4 -hi! link haskellOperators GruvboxBlue -" -hi! link haskellBacktick GruvboxOrange -hi! link haskellStatement GruvboxOrange -hi! link haskellConditional GruvboxOrange - -hi! link haskellLet GruvboxAqua -hi! link haskellDefault GruvboxAqua -hi! link haskellWhere GruvboxAqua -hi! link haskellBottom GruvboxAqua -hi! link haskellBlockKeywords GruvboxAqua -hi! link haskellImportKeywords GruvboxAqua -hi! link haskellDeclKeyword GruvboxAqua -hi! link haskellDeriving GruvboxAqua -hi! link haskellAssocType GruvboxAqua - -hi! link haskellNumber GruvboxPurple -hi! link haskellPragma GruvboxPurple - -hi! link haskellString GruvboxGreen -hi! link haskellChar GruvboxGreen - -" }}} -" Json: {{{ - -hi! link jsonKeyword GruvboxGreen -hi! link jsonQuote GruvboxGreen -hi! link jsonBraces GruvboxFg1 -hi! link jsonString GruvboxFg1 - -" }}} - - -" Functions ------------------------------------------------------------------- -" Search Highlighting Cursor {{{ - -function! GruvboxHlsShowCursor() - call s:HL('Cursor', s:bg0, s:hls_cursor) -endfunction - -function! GruvboxHlsHideCursor() - call s:HL('Cursor', s:none, s:none, s:inverse) -endfunction - -" }}} - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/pride.vim b/.vim/colors/pride.vim deleted file mode 100644 index cda6e86..0000000 --- a/.vim/colors/pride.vim +++ /dev/null @@ -1,180 +0,0 @@ -" pride.vim -" -" author: github.com/lyxell -" url: github.com/lyxell/pride.vim - -" general -"""""""""" - -" reset to vim default stylesheet defined in src/syntax.c -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "pride" -if !exists('g:pride_background') - let g:pride_background=233 -endif - -" remove styles defined by src/syntax.c -hi clear SpecialKey -hi clear NonText -hi clear Directory -hi clear ErrorMsg -hi clear IncSearch -hi clear Search -hi clear MoreMsg -hi clear ModeMsg -hi clear LineNr -hi clear CursorLineNr -hi clear Question -hi clear StatusLine -hi clear StatusLineNC -hi clear VertSplit -hi clear Title -hi clear Visual -hi clear VisualNOS -hi clear WarningMsg -hi clear WildMenu -hi clear Folded -hi clear FoldColumn -hi clear DiffAdd -hi clear DiffChange -hi clear DiffDelete -hi clear DiffText -hi clear SignColumn -hi clear Conceal -hi clear SpellBad -hi clear SpellCap -hi clear SpellRare -hi clear SpellLocal -hi clear Pmenu -hi clear PmenuSel -hi clear PmenuSbar -hi clear PmenuThumb -hi clear TabLine -hi clear TabLineSel -hi clear TabLineFill -hi clear CursorColumn -hi clear CursorLine -hi clear ColorColumn -hi clear MatchParen -hi clear Comment -hi clear Constant -hi clear Special -hi clear Identifier -hi clear Statement -hi clear PreProc -hi clear Type -hi clear Underlined -hi clear Ignore -hi clear Error -hi clear Todo - -" definitions -"""""""""""""" -execute printf("hi Normal ctermbg=%s", g:pride_background) -execute printf("hi Subtle ctermfg=%s", g:pride_background + 2) -execute printf("hi Highlight ctermbg=%s", g:pride_background + 1) -execute printf("hi HighlightSubtle ctermbg=%s ctermfg=%s", g:pride_background + 1, g:pride_background + 2) -execute printf("hi Invisible ctermfg=%s", g:pride_background) -if exists('g:pride_panels') - execute printf("hi Panel ctermbg=%s ctermfg=%s", g:pride_background + 1, g:pride_background + 5) - execute printf("hi PanelHighlight ctermbg=%s ctermfg=%s", g:pride_background + 2, g:pride_background + 6) -else - execute printf("hi Panel ctermbg=%s ctermfg=%s", g:pride_background, g:pride_background + 5) - execute printf("hi PanelHighlight ctermbg=%s ctermfg=%s", g:pride_background, g:pride_background + 6) -endif - -hi White ctermfg=255 -hi Grey ctermfg=240 -hi Red ctermfg=204 -hi RedInvert ctermbg=204 ctermfg=234 -hi Orange ctermfg=209 -hi OrangeInvert ctermfg=234 ctermbg=209 -hi Yellow ctermfg=221 -hi YellowInvert ctermfg=234 ctermbg=221 -hi Green ctermfg=114 -hi GreenInvert ctermfg=234 ctermbg=114 -hi Blue ctermfg=74 -hi BlueInvert ctermfg=234 ctermbg=74 -hi Purple ctermfg=176 -hi PurpleInvert ctermfg=234 ctermfg=176 - -" interface -"""""""""""" - -hi li NonText Invisible - -hi li CursorLine Highlight - -hi li Visual Highlight - - -hi li LineNr Subtle -hi li CursorLineNr HighlightSubtle - -hi li StatusLine Panel -hi li StatusLineNC Panel -hi li Tabline Panel -hi li TablineFill Panel -hi li TabLineSel PanelHighlight -hi li Pmenu Panel - -hi li PmenuSel RedInvert - -hi li Search RedInvert -hi li IncSearch RedInvert - -hi li MatchParen RedInvert - -hi li WildMenu RedInvert - -hi li DiffAdd GreenInvert -hi li DiffChange OrangeInvert -hi li DiffDelete RedInvert -hi li DiffText BlueInvert - -" general syntax -""""""""""""""""" - -hi li Comment Grey -hi li Noise Grey - -hi li Statement Red -hi li Error Red -hi li Ignore Red - -hi li String Orange - -hi li Type Yellow -hi li Special Yellow - -hi li Character Green -hi li Constant Green -hi li Directory Green -hi li PreProc Green -hi li Identifier Green - -hi li Conditional Blue -hi li Repeat Blue -hi li Folded Blue - -hi li Boolean Purple -hi li Integer Purple -hi li Number Purple -hi li Todo Purple - -" dialect specific syntax -"""""""""""""""""""""""""" - -hi li rubyRegexp Blue -hi li rubyRegexpSpecial Purple -hi li rubyRegexpDelimiter Red -hi li rubyStringDelimiter Orange - -hi li netrwComma Blue -hi li netrwClassify Green - -hi li gitcommitFile Orange -hi li gitcommitBranch Blue diff --git a/.vim/colors/scheakur.vim b/.vim/colors/scheakur.vim deleted file mode 100644 index a6a741e..0000000 --- a/.vim/colors/scheakur.vim +++ /dev/null @@ -1,130 +0,0 @@ -" This file is built by ../source.vim. -" Do not modify this file directly. -highlight clear -if exists('syntax_on') - syntax reset -endif - -let g:colors_name = 'scheakur' - -if &background == 'light' - hi Normal guifg=#2e2e2e guibg=#f0f0e5 gui=none ctermfg=234 ctermbg=255 cterm=none - hi ColorColumn guibg=#dfd6d1 ctermbg=145 - hi Comment guifg=#506a78 ctermfg=59 - hi Conceal guifg=#0c6cc0 guibg=#f0f0e5 gui=none ctermfg=25 ctermbg=188 - hi Constant guifg=#1a7931 ctermfg=22 - hi Cursor guibg=#f39812 ctermbg=172 - hi CursorColumn guibg=#cce0ef ctermbg=146 - hi CursorIM guibg=#4a9f68 ctermbg=65 - hi CursorLine guibg=#cce0ef gui=none ctermbg=153 cterm=none - hi CursorLineNr guifg=#567686 guibg=#cce0ef gui=none ctermfg=60 ctermbg=146 - hi DiffAdd guibg=#d0ead0 ctermbg=151 - hi DiffChange guibg=#fdfec9 ctermbg=229 - hi DiffDelete guifg=#ffe3e5 guibg=#ffe3e5 ctermfg=174 ctermbg=174 - hi DiffText guibg=#fed910 ctermbg=178 - hi Directory guifg=#1177dd ctermfg=25 - hi Error guifg=#d1160b guibg=#ffe3e5 ctermfg=124 ctermbg=223 - hi ErrorMsg guifg=#d1160b guibg=#ffe3e5 ctermfg=124 ctermbg=223 - hi FoldColumn guifg=#04530d guibg=#d0ead0 ctermfg=22 ctermbg=151 - hi Folded guifg=#04530d guibg=#d0ead0 ctermfg=22 ctermbg=151 - hi Function guifg=#cb1265 ctermfg=125 - hi Identifier guifg=#1a5991 ctermfg=24 - hi Ignore guifg=#666666 ctermfg=240 - hi IncSearch guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 - hi LineNr guifg=#567686 guibg=#e2e2d0 ctermfg=236 ctermbg=145 - hi MatchParen guifg=#0e8ed3 guibg=#dbf2ff ctermfg=31 ctermbg=152 - hi ModeMsg guifg=#337ca3 ctermfg=24 - hi MoreMsg guifg=#1e7b3d ctermfg=22 - hi NonText guifg=#7878ba gui=none ctermfg=61 - hi Operator guifg=#6b118a ctermfg=54 - hi Pmenu guifg=#2e2e2e guibg=#f6e4e7 ctermfg=235 ctermbg=231 - hi PmenuSbar guifg=#2e2e2e guibg=#f6e4e7 ctermfg=235 ctermbg=231 - hi PmenuSel guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 - hi PmenuThumb guifg=#2e2e2e guibg=#f4b3c2 gui=none ctermfg=234 ctermbg=218 - hi PreProc guifg=#6b118a ctermfg=54 - hi Question guifg=#008080 ctermfg=30 - hi Search guifg=#2e2e2e guibg=#e9e7ac ctermfg=235 ctermbg=186 - hi SignColumn guifg=#567686 guibg=#e2e2d0 ctermfg=236 ctermbg=145 - hi Special guifg=#0b3fad ctermfg=18 - hi SpecialKey guifg=#aabbcc ctermfg=109 - hi SpellBad guifg=#d1160b guibg=#ffe3e5 gui=undercurl ctermfg=124 ctermbg=223 guisp=#d1160b cterm=underline - hi SpellCap guifg=#0b3fad guibg=#dbf2ff gui=undercurl ctermfg=18 ctermbg=152 guisp=#0b3fad cterm=underline - hi SpellLocal guifg=#4d4214 guibg=#fdfec9 gui=undercurl ctermfg=52 ctermbg=229 guisp=#4d4214 cterm=underline - hi SpellRare guifg=#04530d guibg=#d0ead0 gui=undercurl ctermfg=22 ctermbg=151 guisp=#04530d cterm=underline - hi Statement guifg=#0c6cc0 gui=none ctermfg=25 - hi StatusLine guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 - hi StatusLineNC guifg=#dcdcdc guibg=#7a7672 gui=italic ctermfg=251 ctermbg=242 cterm=none - hi String guifg=#0b3fad ctermfg=18 - hi TabLine guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 - hi TabLineFill guifg=#dcdcdc guibg=#4a4642 gui=none ctermfg=251 ctermbg=237 - hi TabLineSel guifg=#4a4642 gui=none ctermfg=237 - hi Tag guifg=#a25a09 ctermfg=94 - hi Title guifg=#0b3fad gui=none ctermfg=18 - hi Todo guifg=#4d4214 guibg=#fdfec9 ctermfg=52 ctermbg=229 - hi Type guifg=#bd3b09 gui=none ctermfg=124 - hi Underlined guifg=#0c6cc0 ctermfg=25 - hi VertSplit guifg=#4a4642 guibg=#4a4642 gui=none ctermfg=237 ctermbg=237 - hi Visual guibg=#cce0ef ctermbg=153 - hi WarningMsg guifg=#ea6042 ctermfg=166 - hi WildMenu guifg=#2e2e2e guibg=#f0f0e5 gui=none ctermfg=234 ctermbg=255 cterm=none -else - hi Normal guifg=#dadad5 guibg=#121713 gui=none ctermfg=255 ctermbg=234 cterm=none - hi ColorColumn guibg=#262f21 ctermbg=235 - hi Comment guifg=#707073 ctermfg=241 - hi Conceal guifg=#91b5d4 guibg=#121713 gui=none ctermfg=109 ctermbg=233 - hi Constant guifg=#70a395 ctermfg=66 - hi Cursor guibg=#f39812 ctermbg=172 - hi CursorColumn guibg=#23343d ctermbg=235 - hi CursorIM guibg=#4a9f68 ctermbg=65 - hi CursorLine guibg=#23343d gui=none ctermbg=24 cterm=none - hi CursorLineNr guifg=#7c8884 guibg=#23343d gui=none ctermfg=66 ctermbg=235 - hi DiffAdd guibg=#013a06 gui=none ctermfg=71 ctermbg=16 - hi DiffChange guibg=#4a4707 ctermfg=178 ctermbg=235 - hi DiffDelete guifg=#491008 guibg=#491008 ctermfg=237 ctermbg=237 - hi DiffText guifg=#fefd03 guibg=#7b7b00 ctermfg=226 ctermbg=58 - hi Directory guifg=#6aaaea ctermfg=68 - hi Error guifg=#ff8485 guibg=#121713 ctermfg=174 ctermbg=234 - hi ErrorMsg guifg=#ff8485 guibg=#121713 ctermfg=174 ctermbg=234 - hi FoldColumn guifg=#a0cab0 guibg=#303a3b ctermfg=109 ctermbg=236 - hi Folded guifg=#a0cab0 guibg=#303a3b ctermfg=109 ctermbg=236 - hi Function guifg=#d789c8 ctermfg=168 - hi Identifier guifg=#91a8a5 ctermfg=102 - hi Ignore guifg=#666666 ctermfg=240 - hi IncSearch guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 - hi LineNr guifg=#7c8884 guibg=#132423 ctermfg=66 ctermbg=234 - hi MatchParen guifg=#dadad5 guibg=#088b8c ctermfg=251 ctermbg=30 - hi ModeMsg guifg=#6badd1 ctermfg=67 - hi MoreMsg guifg=#add581 ctermfg=108 - hi NonText guifg=#7878ba gui=none ctermfg=61 - hi Operator guifg=#8d89c7 ctermfg=103 - hi Pmenu guifg=#dadad5 guibg=#292c2f ctermfg=251 ctermbg=237 - hi PmenuSbar guifg=#dadad5 guibg=#292c2f ctermfg=251 ctermbg=237 - hi PmenuSel guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 - hi PmenuThumb guifg=#dadad5 guibg=#d51487 gui=none ctermfg=251 ctermbg=162 - hi PreProc guifg=#8d89c7 ctermfg=103 - hi Question guifg=#00a0a0 ctermfg=30 - hi Search guifg=#121713 guibg=#c9c73c ctermfg=233 ctermbg=142 - hi SignColumn guifg=#7c8884 guibg=#132423 ctermfg=66 ctermbg=234 - hi Special guifg=#a7a053 ctermfg=101 - hi SpecialKey guifg=#3a4857 ctermfg=59 - hi SpellBad guifg=#ff8485 guibg=#121713 gui=undercurl ctermfg=174 ctermbg=233 guisp=#ff8485 cterm=underline - hi SpellCap guifg=#a7a053 guibg=#121713 gui=undercurl ctermfg=101 ctermbg=233 guisp=#a7a053 cterm=underline - hi SpellLocal guifg=#fdfec9 guibg=#121713 gui=undercurl ctermfg=187 ctermbg=233 guisp=#fdfec9 cterm=underline - hi SpellRare guifg=#a0cab0 guibg=#121713 gui=undercurl ctermfg=109 ctermbg=233 guisp=#a0cab0 cterm=underline - hi Statement guifg=#91b5d4 gui=none ctermfg=109 - hi StatusLine guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 - hi StatusLineNC guifg=#727572 guibg=#020508 gui=italic ctermfg=235 ctermbg=232 cterm=none - hi String guifg=#a7a053 ctermfg=101 - hi TabLine guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 - hi TabLineFill guifg=#b2b5b2 guibg=#292c2f gui=none ctermfg=247 ctermbg=237 - hi TabLineSel guifg=#d789c8 gui=none ctermfg=139 - hi Tag guifg=#d38d6b ctermfg=137 - hi Title guifg=#a7a053 gui=none ctermfg=101 - hi Todo guifg=#fdfec9 guibg=#4d4214 ctermfg=187 ctermbg=234 - hi Type guifg=#5f94ca gui=none ctermfg=67 - hi Underlined guifg=#91b5d4 ctermfg=109 - hi VertSplit guifg=#292c2f guibg=#292c2f gui=none ctermfg=237 ctermbg=237 - hi Visual guibg=#23343d ctermbg=24 - hi WarningMsg guifg=#e0b088 ctermfg=144 - hi WildMenu guifg=#dadad5 guibg=#121713 gui=none ctermfg=255 ctermbg=234 cterm=none -endif diff --git a/.vim/colors/solarized.vim b/.vim/colors/solarized.vim deleted file mode 100755 index a1962b1..0000000 --- a/.vim/colors/solarized.vim +++ /dev/null @@ -1,1119 +0,0 @@ -" Name: Solarized vim colorscheme -" Author: Ethan Schoonover -" URL: http://ethanschoonover.com/solarized -" (see this url for latest release & screenshots) -" License: OSI approved MIT license (see end of this file) -" Created: In the middle of the night -" Modified: 2011 May 05 -" -" Usage "{{{ -" -" --------------------------------------------------------------------- -" ABOUT: -" --------------------------------------------------------------------- -" Solarized is a carefully designed selective contrast colorscheme with dual -" light and dark modes that runs in both GUI, 256 and 16 color modes. -" -" See the homepage above for screenshots and details. -" -" --------------------------------------------------------------------- -" OPTIONS: -" --------------------------------------------------------------------- -" See the "solarized.txt" help file included with this colorscheme (in the -" "doc" subdirectory) for information on options, usage, the Toggle Background -" function and more. If you have already installed Solarized, this is available -" from the Solarized menu and command line as ":help solarized" -" -" --------------------------------------------------------------------- -" INSTALLATION: -" --------------------------------------------------------------------- -" Two options for installation: manual or pathogen -" -" MANUAL INSTALLATION OPTION: -" --------------------------------------------------------------------- -" -" 1. Download the solarized distribution (available on the homepage above) -" and unarchive the file. -" 2. Move `solarized.vim` to your `.vim/colors` directory. -" 3. Move each of the files in each subdirectories to the corresponding .vim -" subdirectory (e.g. autoload/togglebg.vim goes into your .vim/autoload -" directory as .vim/autoload/togglebg.vim). -" -" RECOMMENDED PATHOGEN INSTALLATION OPTION: -" --------------------------------------------------------------------- -" -" 1. Download and install Tim Pope's Pathogen from: -" https://github.com/tpope/vim-pathogen -" -" 2. Next, move or clone the `vim-colors-solarized` directory so that it is -" a subdirectory of the `.vim/bundle` directory. -" -" a. **clone with git:** -" -" $ cd ~/.vim/bundle -" $ git clone git://github.com/altercation/vim-colors-solarized.git -" -" b. **or move manually into the pathogen bundle directory:** -" In the parent directory of vim-colors-solarized: -" -" $ mv vim-colors-solarized ~/.vim/bundle/ -" -" MODIFY VIMRC: -" -" After either Option 1 or Option 2 above, put the following two lines in your -" .vimrc: -" -" syntax enable -" set background=dark -" colorscheme solarized -" -" or, for the light background mode of Solarized: -" -" syntax enable -" set background=light -" colorscheme solarized -" -" I like to have a different background in GUI and terminal modes, so I can use -" the following if-then. However, I find vim's background autodetection to be -" pretty good and, at least with MacVim, I can leave this background value -" assignment out entirely and get the same results. -" -" if has('gui_running') -" set background=light -" else -" set background=dark -" endif -" -" See the Solarized homepage at http://ethanschoonover.com/solarized for -" screenshots which will help you select either the light or dark background. -" -" --------------------------------------------------------------------- -" COLOR VALUES -" --------------------------------------------------------------------- -" Download palettes and files from: http://ethanschoonover.com/solarized -" -" L\*a\*b values are canonical (White D65, Reference D50), other values are -" matched in sRGB space. -" -" SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB -" --------- ------- ---- ------- ----------- ---------- ----------- ----------- -" base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 -" base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 -" base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46 -" base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51 -" base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 -" base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 -" base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93 -" base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 -" yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 -" orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 -" red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 -" magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 -" violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 -" blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 -" cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 -" green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 -" -" --------------------------------------------------------------------- -" COLORSCHEME HACKING -" --------------------------------------------------------------------- -" -" Useful commands for testing colorschemes: -" :source $VIMRUNTIME/syntax/hitest.vim -" :help highlight-groups -" :help cterm-colors -" :help group-name -" -" Useful links for developing colorschemes: -" http://www.vim.org/scripts/script.php?script_id=2937 -" http://vimcasts.org/episodes/creating-colorschemes-for-vim/ -" http://www.frexx.de/xterm-256-notes/" -" -" }}} -" Environment Specific Overrides "{{{ -" Allow or disallow certain features based on current terminal emulator or -" environment. - -" Terminals that support italics -let s:terms_italic=[ - \"rxvt", - \"gnome-terminal" - \] -" For reference only, terminals are known to be incomptible. -" Terminals that are in neither list need to be tested. -let s:terms_noitalic=[ - \"iTerm.app", - \"Apple_Terminal" - \] -if has("gui_running") - let s:terminal_italic=1 " TODO: could refactor to not require this at all -else - let s:terminal_italic=0 " terminals will be guilty until proven compatible - for term in s:terms_italic - if $TERM_PROGRAM =~ term - let s:terminal_italic=1 - endif - endfor -endif - -" }}} -" Default option values"{{{ -" --------------------------------------------------------------------- -" s:options_list is used to autogenerate a list of all non-default options -" using "call SolarizedOptions()" or with the "Generate .vimrc commands" -" Solarized menu option. See the "Menus" section below for the function itself. -let s:options_list=[ - \'" this block of commands has been autogenerated by solarized.vim and', - \'" includes the current, non-default Solarized option values.', - \'" To use, place these commands in your .vimrc file (replacing any', - \'" existing colorscheme commands). See also ":help solarized"', - \'', - \'" ------------------------------------------------------------------', - \'" Solarized Colorscheme Config', - \'" ------------------------------------------------------------------', - \] -let s:colorscheme_list=[ - \'syntax enable', - \'set background='.&background, - \'colorscheme solarized', - \] -let s:defaults_list=[ - \'" ------------------------------------------------------------------', - \'', - \'" The following items are available options, but do not need to be', - \'" included in your .vimrc as they are currently set to their defaults.', - \'' - \] -let s:lazycat_list=[ - \'" lazy method of appending this onto your .vimrc ":w! >> ~/.vimrc"', - \'" ------------------------------------------------------------------', - \] - -function! s:SetOption(name,default) - if type(a:default) == type(0) - let l:wrap='' - let l:ewrap='' - else - let l:wrap='"' - let l:ewrap='\"' - endif - if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default - exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"' - exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")' - else - exe 'call add(s:options_list, "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.' \"default value is '.a:default.'")' - endif -endfunction - -if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256) - let s:solarized_termtrans_default = 1 -else - let s:solarized_termtrans_default = 0 -endif -call s:SetOption("termtrans",s:solarized_termtrans_default) -call s:SetOption("degrade",0) -call s:SetOption("bold",1) -call s:SetOption("underline",1) -call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support -call s:SetOption("termcolors",16) -call s:SetOption("contrast","normal") -call s:SetOption("visibility","normal") -call s:SetOption("diffmode","normal") -call s:SetOption("hitrail",0) -call s:SetOption("menu",1) - -"}}} -" Colorscheme initialization "{{{ -" --------------------------------------------------------------------- -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = "solarized" - -"}}} -" GUI & CSApprox hexadecimal palettes"{{{ -" --------------------------------------------------------------------- -" -" Set both gui and terminal color values in separate conditional statements -" Due to possibility that CSApprox is running (though I suppose we could just -" leave the hex values out entirely in that case and include only cterm colors) -" We also check to see if user has set solarized (force use of the -" neutral gray monotone palette component) -if (has("gui_running") && g:solarized_degrade == 0) - let s:vmode = "gui" - let s:base03 = "#002b36" - let s:base02 = "#073642" - let s:base01 = "#586e75" - let s:base00 = "#657b83" - let s:base0 = "#839496" - let s:base1 = "#93a1a1" - let s:base2 = "#eee8d5" - let s:base3 = "#fdf6e3" - let s:yellow = "#b58900" - let s:orange = "#cb4b16" - let s:red = "#dc322f" - let s:magenta = "#d33682" - let s:violet = "#6c71c4" - let s:blue = "#268bd2" - let s:cyan = "#2aa198" - "let s:green = "#859900" "original - let s:green = "#719e07" "experimental -elseif (has("gui_running") && g:solarized_degrade == 1) - " These colors are identical to the 256 color mode. They may be viewed - " while in gui mode via "let g:solarized_degrade=1", though this is not - " recommened and is for testing only. - let s:vmode = "gui" - let s:base03 = "#1c1c1c" - let s:base02 = "#262626" - let s:base01 = "#4e4e4e" - let s:base00 = "#585858" - let s:base0 = "#808080" - let s:base1 = "#8a8a8a" - let s:base2 = "#d7d7af" - let s:base3 = "#ffffd7" - let s:yellow = "#af8700" - let s:orange = "#d75f00" - let s:red = "#af0000" - let s:magenta = "#af005f" - let s:violet = "#5f5faf" - let s:blue = "#0087ff" - let s:cyan = "#00afaf" - let s:green = "#5f8700" -elseif g:solarized_termcolors != 256 && &t_Co >= 16 - let s:vmode = "cterm" - let s:base03 = "8" - let s:base02 = "0" - let s:base01 = "10" - let s:base00 = "11" - let s:base0 = "12" - let s:base1 = "14" - let s:base2 = "7" - let s:base3 = "15" - let s:yellow = "3" - let s:orange = "9" - let s:red = "1" - let s:magenta = "5" - let s:violet = "13" - let s:blue = "4" - let s:cyan = "6" - let s:green = "2" -elseif g:solarized_termcolors == 256 - let s:vmode = "cterm" - let s:base03 = "234" - let s:base02 = "235" - let s:base01 = "239" - let s:base00 = "240" - let s:base0 = "244" - let s:base1 = "245" - let s:base2 = "187" - let s:base3 = "230" - let s:yellow = "136" - let s:orange = "166" - let s:red = "124" - let s:magenta = "125" - let s:violet = "61" - let s:blue = "33" - let s:cyan = "37" - let s:green = "64" -else - let s:vmode = "cterm" - let s:bright = "* term=bold cterm=bold" -" let s:base03 = "0".s:bright -" let s:base02 = "0" -" let s:base01 = "2".s:bright -" let s:base00 = "3".s:bright -" let s:base0 = "4".s:bright -" let s:base1 = "6".s:bright -" let s:base2 = "7" -" let s:base3 = "7".s:bright -" let s:yellow = "3" -" let s:orange = "1".s:bright -" let s:red = "1" -" let s:magenta = "5" -" let s:violet = "5".s:bright -" let s:blue = "4" -" let s:cyan = "6" -" let s:green = "2" - let s:base03 = "DarkGray" " 0* - let s:base02 = "Black" " 0 - let s:base01 = "LightGreen" " 2* - let s:base00 = "LightYellow" " 3* - let s:base0 = "LightBlue" " 4* - let s:base1 = "LightCyan" " 6* - let s:base2 = "LightGray" " 7 - let s:base3 = "White" " 7* - let s:yellow = "DarkYellow" " 3 - let s:orange = "LightRed" " 1* - let s:red = "DarkRed" " 1 - let s:magenta = "DarkMagenta" " 5 - let s:violet = "LightMagenta" " 5* - let s:blue = "DarkBlue" " 4 - let s:cyan = "DarkCyan" " 6 - let s:green = "DarkGreen" " 2 - -endif -"}}} -" Formatting options and null values for passthrough effect "{{{ -" --------------------------------------------------------------------- - let s:none = "NONE" - let s:none = "NONE" - let s:t_none = "NONE" - let s:n = "NONE" - let s:c = ",undercurl" - let s:r = ",reverse" - let s:s = ",standout" - let s:ou = "" - let s:ob = "" -"}}} -" Background value based on termtrans setting "{{{ -" --------------------------------------------------------------------- -if (has("gui_running") || g:solarized_termtrans == 0) - let s:back = s:base03 -else - let s:back = "NONE" -endif -"}}} -" Alternate light scheme "{{{ -" --------------------------------------------------------------------- -if &background == "light" - let s:temp03 = s:base03 - let s:temp02 = s:base02 - let s:temp01 = s:base01 - let s:temp00 = s:base00 - let s:base03 = s:base3 - let s:base02 = s:base2 - let s:base01 = s:base1 - let s:base00 = s:base0 - let s:base0 = s:temp00 - let s:base1 = s:temp01 - let s:base2 = s:temp02 - let s:base3 = s:temp03 - if (s:back != "NONE") - let s:back = s:base03 - endif -endif -"}}} -" Optional contrast schemes "{{{ -" --------------------------------------------------------------------- -if g:solarized_contrast == "high" - let s:base01 = s:base00 - let s:base00 = s:base0 - let s:base0 = s:base1 - let s:base1 = s:base2 - let s:base2 = s:base3 - let s:back = s:back -endif -if g:solarized_contrast == "low" - let s:back = s:base02 - let s:ou = ",underline" -endif -"}}} -" Overrides dependent on user specified values and environment "{{{ -" --------------------------------------------------------------------- -if (g:solarized_bold == 0 || &t_Co == 8 ) - let s:b = "" - let s:bb = ",bold" -else - let s:b = ",bold" - let s:bb = "" -endif - -if g:solarized_underline == 0 - let s:u = "" -else - let s:u = ",underline" -endif - -if g:solarized_italic == 0 || s:terminal_italic == 0 - let s:i = "" -else - let s:i = ",italic" -endif -"}}} -" Highlighting primitives"{{{ -" --------------------------------------------------------------------- - -exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'" -exe "let s:bg_back = ' ".s:vmode."bg=".s:back ."'" -exe "let s:bg_base03 = ' ".s:vmode."bg=".s:base03 ."'" -exe "let s:bg_base02 = ' ".s:vmode."bg=".s:base02 ."'" -exe "let s:bg_base01 = ' ".s:vmode."bg=".s:base01 ."'" -exe "let s:bg_base00 = ' ".s:vmode."bg=".s:base00 ."'" -exe "let s:bg_base0 = ' ".s:vmode."bg=".s:base0 ."'" -exe "let s:bg_base1 = ' ".s:vmode."bg=".s:base1 ."'" -exe "let s:bg_base2 = ' ".s:vmode."bg=".s:base2 ."'" -exe "let s:bg_base3 = ' ".s:vmode."bg=".s:base3 ."'" -exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'" -exe "let s:bg_yellow = ' ".s:vmode."bg=".s:yellow ."'" -exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'" -exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'" -exe "let s:bg_magenta = ' ".s:vmode."bg=".s:magenta."'" -exe "let s:bg_violet = ' ".s:vmode."bg=".s:violet ."'" -exe "let s:bg_blue = ' ".s:vmode."bg=".s:blue ."'" -exe "let s:bg_cyan = ' ".s:vmode."bg=".s:cyan ."'" - -exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'" -exe "let s:fg_back = ' ".s:vmode."fg=".s:back ."'" -exe "let s:fg_base03 = ' ".s:vmode."fg=".s:base03 ."'" -exe "let s:fg_base02 = ' ".s:vmode."fg=".s:base02 ."'" -exe "let s:fg_base01 = ' ".s:vmode."fg=".s:base01 ."'" -exe "let s:fg_base00 = ' ".s:vmode."fg=".s:base00 ."'" -exe "let s:fg_base0 = ' ".s:vmode."fg=".s:base0 ."'" -exe "let s:fg_base1 = ' ".s:vmode."fg=".s:base1 ."'" -exe "let s:fg_base2 = ' ".s:vmode."fg=".s:base2 ."'" -exe "let s:fg_base3 = ' ".s:vmode."fg=".s:base3 ."'" -exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'" -exe "let s:fg_yellow = ' ".s:vmode."fg=".s:yellow ."'" -exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'" -exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'" -exe "let s:fg_magenta = ' ".s:vmode."fg=".s:magenta."'" -exe "let s:fg_violet = ' ".s:vmode."fg=".s:violet ."'" -exe "let s:fg_blue = ' ".s:vmode."fg=".s:blue ."'" -exe "let s:fg_cyan = ' ".s:vmode."fg=".s:cyan ."'" - -exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE". "'" -exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" -exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" -exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" -exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" -exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" -exe "let s:fmt_uopt = ' ".s:vmode."=NONE".s:ou. " term=NONE".s:ou."'" -exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c."'" -exe "let s:fmt_ital = ' ".s:vmode."=NONE".s:i. " term=NONE".s:i."'" -exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'" -exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'" -exe "let s:fmt_revb = ' ".s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" -" revbb (reverse bold for bright colors) is only set to actual bold in low -" color terminals (t_co=8, such as OS X Terminal.app) and should only be used -" with colors 8-15. -exe "let s:fmt_revbb = ' ".s:vmode."=NONE".s:r.s:bb. " term=NONE".s:r.s:bb."'" -exe "let s:fmt_revbbu = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'" - -if has("gui_running") - exe "let s:sp_none = ' guisp=".s:none ."'" - exe "let s:sp_back = ' guisp=".s:back ."'" - exe "let s:sp_base03 = ' guisp=".s:base03 ."'" - exe "let s:sp_base02 = ' guisp=".s:base02 ."'" - exe "let s:sp_base01 = ' guisp=".s:base01 ."'" - exe "let s:sp_base00 = ' guisp=".s:base00 ."'" - exe "let s:sp_base0 = ' guisp=".s:base0 ."'" - exe "let s:sp_base1 = ' guisp=".s:base1 ."'" - exe "let s:sp_base2 = ' guisp=".s:base2 ."'" - exe "let s:sp_base3 = ' guisp=".s:base3 ."'" - exe "let s:sp_green = ' guisp=".s:green ."'" - exe "let s:sp_yellow = ' guisp=".s:yellow ."'" - exe "let s:sp_orange = ' guisp=".s:orange ."'" - exe "let s:sp_red = ' guisp=".s:red ."'" - exe "let s:sp_magenta = ' guisp=".s:magenta."'" - exe "let s:sp_violet = ' guisp=".s:violet ."'" - exe "let s:sp_blue = ' guisp=".s:blue ."'" - exe "let s:sp_cyan = ' guisp=".s:cyan ."'" -else - let s:sp_none = "" - let s:sp_back = "" - let s:sp_base03 = "" - let s:sp_base02 = "" - let s:sp_base01 = "" - let s:sp_base00 = "" - let s:sp_base0 = "" - let s:sp_base1 = "" - let s:sp_base2 = "" - let s:sp_base3 = "" - let s:sp_green = "" - let s:sp_yellow = "" - let s:sp_orange = "" - let s:sp_red = "" - let s:sp_magenta = "" - let s:sp_violet = "" - let s:sp_blue = "" - let s:sp_cyan = "" -endif - -"}}} -" Basic highlighting"{{{ -" --------------------------------------------------------------------- -" note that link syntax to avoid duplicate configuration doesn't work with the -" exe compiled formats - -exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back - -" johannst: changed comment color -"exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none -exe "hi! Comment" .s:fmt_ital .s:fg_base1 .s:bg_none -" *Comment any comment - -exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none -" *Constant any constant -" String a string constant: "this is a string" -" Character a character constant: 'c', '\n' -" Number a number constant: 234, 0xff -" Boolean a boolean constant: TRUE, false -" Float a floating point constant: 2.3e10 - -exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none -" *Identifier any variable name -" Function function name (also: methods for classes) -" -exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none -" *Statement any statement -" Conditional if, then, else, endif, switch, etc. -" Repeat for, do, while, etc. -" Label case, default, etc. -" Operator "sizeof", "+", "*", etc. -" Keyword any other keyword -" Exception try, catch, throw - -exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none -" *PreProc generic Preprocessor -" Include preprocessor #include -" Define preprocessor #define -" Macro same as Define -" PreCondit preprocessor #if, #else, #endif, etc. - -exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none -" *Type int, long, char, etc. -" StorageClass static, register, volatile, etc. -" Structure struct, union, enum, etc. -" Typedef A typedef - -exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none -" *Special any special symbol -" SpecialChar special character in a constant -" Tag you can use CTRL-] on this -" Delimiter character that needs attention -" SpecialComment special things inside a comment -" Debug debugging statements - -exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none -" *Underlined text that stands out, HTML links - -exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none -" *Ignore left blank, hidden |hl-Ignore| - -exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none -" *Error any erroneous construct - -exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none -" *Todo anything that needs extra attention; mostly the -" keywords TODO FIXME and XXX -" -"}}} -" Extended highlighting "{{{ -" --------------------------------------------------------------------- -if (g:solarized_visibility=="high") - exe "hi! SpecialKey" .s:fmt_revr .s:fg_red .s:bg_none - exe "hi! NonText" .s:fmt_bold .s:fg_red .s:bg_none -elseif (g:solarized_visibility=="low") - exe "hi! SpecialKey" .s:fmt_bold .s:fg_base02 .s:bg_none - exe "hi! NonText" .s:fmt_bold .s:fg_base02 .s:bg_none -else - exe "hi! SpecialKey" .s:fmt_bold .s:fg_base00 .s:bg_base02 - exe "hi! NonText" .s:fmt_bold .s:fg_base00 .s:bg_none -endif -exe "hi! StatusLine" .s:fmt_none .s:fg_base1 .s:bg_base02 .s:fmt_revbb -exe "hi! StatusLineNC" .s:fmt_none .s:fg_base00 .s:bg_base02 .s:fmt_revbb -exe "hi! Visual" .s:fmt_none .s:fg_base01 .s:bg_base03 .s:fmt_revbb -exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none -exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none -exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none -exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02 -exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none -if ( has("gui_running") || &t_Co > 8 ) - exe "hi! VertSplit" .s:fmt_none .s:fg_base00 .s:bg_base00 -else - exe "hi! VertSplit" .s:fmt_revbb .s:fg_base00 .s:bg_base02 -endif -exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none -exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02 .s:fmt_revbb -exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none -exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 .s:fmt_revbb -exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03 -exe "hi! FoldColumn" .s:fmt_none .s:fg_base0 .s:bg_base02 -if (g:solarized_diffmode=="high") -exe "hi! DiffAdd" .s:fmt_revr .s:fg_green .s:bg_none -exe "hi! DiffChange" .s:fmt_revr .s:fg_yellow .s:bg_none -exe "hi! DiffDelete" .s:fmt_revr .s:fg_red .s:bg_none -exe "hi! DiffText" .s:fmt_revr .s:fg_blue .s:bg_none -elseif (g:solarized_diffmode=="low") -exe "hi! DiffAdd" .s:fmt_undr .s:fg_green .s:bg_none .s:sp_green -exe "hi! DiffChange" .s:fmt_undr .s:fg_yellow .s:bg_none .s:sp_yellow -exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_none -exe "hi! DiffText" .s:fmt_undr .s:fg_blue .s:bg_none .s:sp_blue -else " normal - if has("gui_running") -exe "hi! DiffAdd" .s:fmt_bold .s:fg_green .s:bg_base02 .s:sp_green -exe "hi! DiffChange" .s:fmt_bold .s:fg_yellow .s:bg_base02 .s:sp_yellow -exe "hi! DiffDelete" .s:fmt_bold .s:fg_red .s:bg_base02 -exe "hi! DiffText" .s:fmt_bold .s:fg_blue .s:bg_base02 .s:sp_blue - else -exe "hi! DiffAdd" .s:fmt_none .s:fg_green .s:bg_base02 .s:sp_green -exe "hi! DiffChange" .s:fmt_none .s:fg_yellow .s:bg_base02 .s:sp_yellow -exe "hi! DiffDelete" .s:fmt_none .s:fg_red .s:bg_base02 -exe "hi! DiffText" .s:fmt_none .s:fg_blue .s:bg_base02 .s:sp_blue - endif -endif -exe "hi! SignColumn" .s:fmt_none .s:fg_base0 -exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red -exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet -exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan -exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow -exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02 .s:fmt_revbb -exe "hi! PmenuSel" .s:fmt_none .s:fg_base01 .s:bg_base2 .s:fmt_revbb -exe "hi! PmenuSbar" .s:fmt_none .s:fg_base2 .s:bg_base0 .s:fmt_revbb -exe "hi! PmenuThumb" .s:fmt_none .s:fg_base0 .s:bg_base03 .s:fmt_revbb -exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 -exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 -exe "hi! TabLineSel" .s:fmt_undr .s:fg_base01 .s:bg_base2 .s:sp_base0 .s:fmt_revbbu -exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02 -exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1 -exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02 -exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0 -hi! link lCursor Cursor -exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01 - -"}}} -" vim syntax highlighting "{{{ -" --------------------------------------------------------------------- -"exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital -"hi! link vimComment Comment -"hi! link vimLineComment Comment -hi! link vimVar Identifier -hi! link vimFunc Function -hi! link vimUserFunc Function -hi! link helpSpecial Special -hi! link vimSet Normal -hi! link vimSetEqual Normal -exe "hi! vimCommentString" .s:fmt_none .s:fg_violet .s:bg_none -exe "hi! vimCommand" .s:fmt_none .s:fg_yellow .s:bg_none -exe "hi! vimCmdSep" .s:fmt_bold .s:fg_blue .s:bg_none -exe "hi! helpExample" .s:fmt_none .s:fg_base1 .s:bg_none -exe "hi! helpOption" .s:fmt_none .s:fg_cyan .s:bg_none -exe "hi! helpNote" .s:fmt_none .s:fg_magenta.s:bg_none -exe "hi! helpVim" .s:fmt_none .s:fg_magenta.s:bg_none -exe "hi! helpHyperTextJump" .s:fmt_undr .s:fg_blue .s:bg_none -exe "hi! helpHyperTextEntry".s:fmt_none .s:fg_green .s:bg_none -exe "hi! vimIsCommand" .s:fmt_none .s:fg_base00 .s:bg_none -exe "hi! vimSynMtchOpt" .s:fmt_none .s:fg_yellow .s:bg_none -exe "hi! vimSynType" .s:fmt_none .s:fg_cyan .s:bg_none -exe "hi! vimHiLink" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! vimHiGroup" .s:fmt_none .s:fg_blue .s:bg_none -exe "hi! vimGroup" .s:fmt_undb .s:fg_blue .s:bg_none -"}}} -" diff highlighting "{{{ -" --------------------------------------------------------------------- -hi! link diffAdded Statement -hi! link diffLine Identifier -"}}} -" git & gitcommit highlighting "{{{ -"git -"exe "hi! gitDateHeader" -"exe "hi! gitIdentityHeader" -"exe "hi! gitIdentityKeyword" -"exe "hi! gitNotesHeader" -"exe "hi! gitReflogHeader" -"exe "hi! gitKeyword" -"exe "hi! gitIdentity" -"exe "hi! gitEmailDelimiter" -"exe "hi! gitEmail" -"exe "hi! gitDate" -"exe "hi! gitMode" -"exe "hi! gitHashAbbrev" -"exe "hi! gitHash" -"exe "hi! gitReflogMiddle" -"exe "hi! gitReference" -"exe "hi! gitStage" -"exe "hi! gitType" -"exe "hi! gitDiffAdded" -"exe "hi! gitDiffRemoved" -"gitcommit -"exe "hi! gitcommitSummary" -exe "hi! gitcommitComment" .s:fmt_ital .s:fg_base01 .s:bg_none -hi! link gitcommitUntracked gitcommitComment -hi! link gitcommitDiscarded gitcommitComment -hi! link gitcommitSelected gitcommitComment -exe "hi! gitcommitUnmerged" .s:fmt_bold .s:fg_green .s:bg_none -exe "hi! gitcommitOnBranch" .s:fmt_bold .s:fg_base01 .s:bg_none -exe "hi! gitcommitBranch" .s:fmt_bold .s:fg_magenta .s:bg_none -hi! link gitcommitNoBranch gitcommitBranch -exe "hi! gitcommitDiscardedType".s:fmt_none .s:fg_red .s:bg_none -exe "hi! gitcommitSelectedType" .s:fmt_none .s:fg_green .s:bg_none -"exe "hi! gitcommitUnmergedType" -"exe "hi! gitcommitType" -"exe "hi! gitcommitNoChanges" -"exe "hi! gitcommitHeader" -exe "hi! gitcommitHeader" .s:fmt_none .s:fg_base01 .s:bg_none -exe "hi! gitcommitUntrackedFile".s:fmt_bold .s:fg_cyan .s:bg_none -exe "hi! gitcommitDiscardedFile".s:fmt_bold .s:fg_red .s:bg_none -exe "hi! gitcommitSelectedFile" .s:fmt_bold .s:fg_green .s:bg_none -exe "hi! gitcommitUnmergedFile" .s:fmt_bold .s:fg_yellow .s:bg_none -exe "hi! gitcommitFile" .s:fmt_bold .s:fg_base0 .s:bg_none -hi! link gitcommitDiscardedArrow gitcommitDiscardedFile -hi! link gitcommitSelectedArrow gitcommitSelectedFile -hi! link gitcommitUnmergedArrow gitcommitUnmergedFile -"exe "hi! gitcommitArrow" -"exe "hi! gitcommitOverflow" -"exe "hi! gitcommitBlank" -" }}} -" html highlighting "{{{ -" --------------------------------------------------------------------- -exe "hi! htmlTag" .s:fmt_none .s:fg_base01 .s:bg_none -exe "hi! htmlEndTag" .s:fmt_none .s:fg_base01 .s:bg_none -exe "hi! htmlTagN" .s:fmt_bold .s:fg_base1 .s:bg_none -exe "hi! htmlTagName" .s:fmt_bold .s:fg_blue .s:bg_none -exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue .s:bg_none -exe "hi! htmlArg" .s:fmt_none .s:fg_base00 .s:bg_none -exe "hi! javaScript" .s:fmt_none .s:fg_yellow .s:bg_none -"}}} -" perl highlighting "{{{ -" --------------------------------------------------------------------- -exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none -exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none -exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none - -"}}} -" tex highlighting "{{{ -" --------------------------------------------------------------------- -exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none -exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none -exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none -exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none -exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none -"}}} -" ruby highlighting "{{{ -" --------------------------------------------------------------------- -exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold -"rubyInclude -"rubySharpBang -"rubyAccess -"rubyPredefinedVariable -"rubyBoolean -"rubyClassVariable -"rubyBeginEnd -"rubyRepeatModifier -"hi! link rubyArrayDelimiter Special " [ , , ] -"rubyCurlyBlock { , , } - -"hi! link rubyClass Keyword -"hi! link rubyModule Keyword -"hi! link rubyKeyword Keyword -"hi! link rubyOperator Operator -"hi! link rubyIdentifier Identifier -"hi! link rubyInstanceVariable Identifier -"hi! link rubyGlobalVariable Identifier -"hi! link rubyClassVariable Identifier -"hi! link rubyConstant Type -"}}} -" haskell syntax highlighting"{{{ -" --------------------------------------------------------------------- -" For use with syntax/haskell.vim : Haskell Syntax File -" http://www.vim.org/scripts/script.php?script_id=3034 -" See also Steffen Siering's github repository: -" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim -" --------------------------------------------------------------------- -" -" Treat True and False specially, see the plugin referenced above -let hs_highlight_boolean=1 -" highlight delims, see the plugin referenced above -let hs_highlight_delimiters=1 - -exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none - -exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none -exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none -exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none -exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none - -exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none -exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none -exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none -exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none -exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr -exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none -hi! link hsImportParams Delimiter -hi! link hsDelimTypeExport Delimiter -hi! link hsModuleStartLabel hsStructure -hi! link hsModuleWhereLabel hsModuleStartLabel - -" following is for the haskell-conceal plugin -" the first two items don't have an impact, but better safe -exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none - -"}}} -" pandoc markdown syntax highlighting "{{{ -" --------------------------------------------------------------------- - -"PandocHiLink pandocNormalBlock -exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none -exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold -exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold -exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital -exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none -hi! link pandocVerbatimBlockDeep pandocVerbatimBlock -hi! link pandocCodeBlock pandocVerbatimBlock -hi! link pandocCodeBlockDelim pandocVerbatimBlock -exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none -exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none -exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none -exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr - -" Definitions -" --------------------------------------------------------------------- -let s:fg_pdef = s:fg_violet -exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none -exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd -exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold -exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital -exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi -exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold -exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi -exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi -exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr -exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none -exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none -exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none - -" Tables -" --------------------------------------------------------------------- -let s:fg_ptable = s:fg_blue -exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none -exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none -hi! link pandocTableStructureTop pandocTableStructre -hi! link pandocTableStructureEnd pandocTableStructre -exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none -exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none -exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital -exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi -exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold -exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi -exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi -exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr -exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none -exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none -exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none - -" Headings -" --------------------------------------------------------------------- -let s:fg_phead = s:fg_orange -exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold -exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold -exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi -exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi -exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold -exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi -exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi -exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr -exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold -exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold -exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold - -" Links -" --------------------------------------------------------------------- -exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none -exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr -exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb -exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr -exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi -exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00 -exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00 -exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold -exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb -exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr -exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold -exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb -exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none -exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none -exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none -exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr -exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none - -" Main Styles -" --------------------------------------------------------------------- -exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none -exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital -exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi -exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold -exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi -exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi -exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr -exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none -exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none -exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none - -exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold -exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold -exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold -exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none -exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr -hi! link pandocEscapedCharacter pandocEscapePair -hi! link pandocLineBreak pandocEscapePair - -" Embedded Code -" --------------------------------------------------------------------- -exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none -exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none -exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none -exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold -hi! link pandocMetadataTitle pandocMetadata - -"}}} -" Utility autocommand "{{{ -" --------------------------------------------------------------------- -" In cases where Solarized is initialized inside a terminal vim session and -" then transferred to a gui session via the command `:gui`, the gui vim process -" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui` -" related code that sets gui specific values isn't executed. -" -" Currently, Solarized sets only the cterm or gui values for the colorscheme -" depending on gui or terminal mode. It's possible that, if the following -" autocommand method is deemed excessively poor form, that approach will be -" used again and the autocommand below will be dropped. -" -" However it seems relatively benign in this case to include the autocommand -" here. It fires only in cases where vim is transferring from terminal to gui -" mode (detected with the script scope s:vmode variable). It also allows for -" other potential terminal customizations that might make gui mode suboptimal. -" -autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif -"}}} -" Highlight Trailing Space {{{ -" Experimental: Different highlight when on cursorline -function! s:SolarizedHiTrail() - if g:solarized_hitrail==0 - hi! clear solarizedTrailingSpace - else - syn match solarizedTrailingSpace "\s*$" - exe "hi! solarizedTrailingSpace " .s:fmt_undr .s:fg_red .s:bg_none .s:sp_red - endif -endfunction -augroup SolarizedHiTrail - autocmd! - if g:solarized_hitrail==1 - autocmd! Syntax * call s:SolarizedHiTrail() - autocmd! ColorScheme * if g:colors_name == "solarized" | call s:SolarizedHiTrail() | else | augroup! s:SolarizedHiTrail | endif - endif -augroup END -" }}} -" Menus "{{{ -" --------------------------------------------------------------------- -" Turn off Solarized menu by including the following assignment in your .vimrc: -" -" let g:solarized_menu=0 - -function! s:SolarizedOptions() - new "new buffer - setf vim "vim filetype - let failed = append(0, s:defaults_list) - let failed = append(0, s:colorscheme_list) - let failed = append(0, s:options_list) - let failed = append(0, s:lazycat_list) - 0 "jump back to the top -endfunction -if !exists(":SolarizedOptions") - command SolarizedOptions :call s:SolarizedOptions() -endif - -function! SolarizedMenu() - if exists("g:loaded_solarized_menu") - try - silent! aunmenu Solarized - endtry - endif - let g:loaded_solarized_menu = 1 - - if g:colors_name == "solarized" && g:solarized_menu != 0 - - amenu &Solarized.&Contrast.&Low\ Contrast :let g:solarized_contrast="low" \| colorscheme solarized - amenu &Solarized.&Contrast.&Normal\ Contrast :let g:solarized_contrast="normal" \| colorscheme solarized - amenu &Solarized.&Contrast.&High\ Contrast :let g:solarized_contrast="high" \| colorscheme solarized - an &Solarized.&Contrast.-sep- - amenu &Solarized.&Contrast.&Help:\ Contrast :help 'solarized_contrast' - - amenu &Solarized.&Visibility.&Low\ Visibility :let g:solarized_visibility="low" \| colorscheme solarized - amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal" \| colorscheme solarized - amenu &Solarized.&Visibility.&High\ Visibility :let g:solarized_visibility="high" \| colorscheme solarized - an &Solarized.&Visibility.-sep- - amenu &Solarized.&Visibility.&Help:\ Visibility :help 'solarized_visibility' - - amenu &Solarized.&Background.&Toggle\ Background :ToggleBG - amenu &Solarized.&Background.&Dark\ Background :set background=dark \| colorscheme solarized - amenu &Solarized.&Background.&Light\ Background :set background=light \| colorscheme solarized - an &Solarized.&Background.-sep- - amenu &Solarized.&Background.&Help:\ ToggleBG :help togglebg - - if g:solarized_bold==0 | let l:boldswitch="On" | else | let l:boldswitch="Off" | endif - exe "amenu &Solarized.&Styling.&Turn\\ Bold\\ ".l:boldswitch." :let g:solarized_bold=(abs(g:solarized_bold-1)) \\| colorscheme solarized" - if g:solarized_italic==0 | let l:italicswitch="On" | else | let l:italicswitch="Off" | endif - exe "amenu &Solarized.&Styling.&Turn\\ Italic\\ ".l:italicswitch." :let g:solarized_italic=(abs(g:solarized_italic-1)) \\| colorscheme solarized" - if g:solarized_underline==0 | let l:underlineswitch="On" | else | let l:underlineswitch="Off" | endif - exe "amenu &Solarized.&Styling.&Turn\\ Underline\\ ".l:underlineswitch." :let g:solarized_underline=(abs(g:solarized_underline-1)) \\| colorscheme solarized" - - amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode :let g:solarized_diffmode="low" \| colorscheme solarized - amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal" \| colorscheme solarized - amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode :let g:solarized_diffmode="high" \| colorscheme solarized - - if g:solarized_hitrail==0 | let l:hitrailswitch="On" | else | let l:hitrailswitch="Off" | endif - exe "amenu &Solarized.&Experimental.&Turn\\ Highlight\\ Trailing\\ Spaces\\ ".l:hitrailswitch." :let g:solarized_hitrail=(abs(g:solarized_hitrail-1)) \\| colorscheme solarized" - an &Solarized.&Experimental.-sep- - amenu &Solarized.&Experimental.&Help:\ HiTrail :help 'solarized_hitrail' - - an &Solarized.-sep1- - - amenu &Solarized.&Autogenerate\ options :SolarizedOptions - - an &Solarized.-sep2- - - amenu &Solarized.&Help.&Solarized\ Help :help solarized - amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg - amenu &Solarized.&Help.&Removing\ This\ Menu :help solarized-menu - - an 9999.77 &Help.&Solarized\ Colorscheme :help solarized - an 9999.78 &Help.&Toggle\ Background :help togglebg - an 9999.79 &Help.-sep3- - - endif -endfunction - -autocmd ColorScheme * if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif - -"}}} -" License "{{{ -" --------------------------------------------------------------------- -" -" Copyright (c) 2011 Ethan Schoonover -" -" Permission is hereby granted, free of charge, to any person obtaining a copy -" of this software and associated documentation files (the "Software"), to deal -" in the Software without restriction, including without limitation the rights -" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -" copies of the Software, and to permit persons to whom the Software is -" furnished to do so, subject to the following conditions: -" -" The above copyright notice and this permission notice shall be included in -" all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -" THE SOFTWARE. -" -" vim:foldmethod=marker:foldlevel=0 -"}}} diff --git a/.vim/install_vundle.sh b/.vim/install_vundle.sh deleted file mode 100755 index 287431f..0000000 --- a/.vim/install_vundle.sh +++ /dev/null @@ -1,15 +0,0 @@ -# dotfiles -- .vim/install_vundle.sh -# author: johannst - -# if INSTALL_DIR changed, it must be also changed in .vim/vimrc_files/vundle.vim -INSTALL_DIR=~/.vim/bundle - -if [ ! -d $INSTALL_DIR ]; then - mkdir $INSTALL_DIR -fi -if [ ! -d $INSTALL_DIR/Vundle.vim ]; then - git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim -fi - -# install plugins -vim +PluginInstall +qall diff --git a/.vimrc b/.vimrc deleted file mode 100644 index c834476..0000000 --- a/.vimrc +++ /dev/null @@ -1,309 +0,0 @@ -" dotfiles -- .vimrc -" author: johannst - -set nocompatible " make vim less vi - -"{{{ Vundle - - " to install plugins open vim and run :PluginInstall from within vim OR - " vim +PluginInstall +qall from cmd line - - filetype off " necessary for vundle!!! - set rtp+=~/.vim/bundle/Vundle.vim - - call vundle#begin() - Plugin 'VundleVim/Vundle.vim' - Plugin 'jlanzarotta/bufexplorer' - Plugin 'ap/vim-buftabline' -" Plugin 'vim-airline/vim-airline' -" Plugin 'vim-airline/vim-airline-themes' - Plugin 'majutsushi/tagbar' - Plugin 'kien/ctrlp.vim' - " c++ modifief headers: http://www.vim.org/scripts/script.php?script_id=2358 - "Plugin 'vim-scripts/OmniCppComplete' - call vundle#end() - -"}}} -"{{{ Plugin Config - - " powerline - let g:airline#extensions#tabline#enabled = 1 - let g:airline#extensions#tabline#fnamemod = ':t' - let g:airline_powerline_fonts = 1 - if !exists('g:airline_symbols') - let g:airline_symbols = {} - endif - - " tagbar - let g:tagbar_ctags_bin='~/.vim/bin/ctags' - - " CtrlP - let g:ctrlp_buftag_ctags_bin='~/.vim/bin/ctags' - let g:ctrlp_extensions = ['buffertag', 'line', 'changes', 'mixed'] - - " buftabline - let g:buftabline_indicators = 1 - - " omni complete - " add tags - " set tags+=~/.vim/tags/cpp_tags - "let OmniCpp_NamespaceSearch = 1 - "let OmniCpp_GlobalScopeSearch = 1 - "let OmniCpp_ShowAccess = 1 - "let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters - "let OmniCpp_MayCompleteDot = 1 " autocomplete after . - "let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> - "let OmniCpp_MayCompleteScope = 1 " autocomplete after :: - "let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] - "" automatically open and close the popup menu / preview window - "au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif - "set completeopt=menuone,menu,longest,preview - -"}}} - -augroup aug:AutoSaveResore - autocmd! - "autocmd VimEnter * silent! source .vim_last_session - autocmd QuitPre * mksession! .vim_last_session -augroup end - - -function! TriggerSCons(arg_string) - let base_cmd = "scons -u " - let &makeprg=base_cmd.a:arg_string - make -endfunction -" use like :SCons -j20 ... -command! -nargs=1 SCons call TriggerSCons() - -" +----------------------------+ -" | Color Settings | -" +----------------------------+ -syntax on -set background=dark -colorscheme buddy - -" +----------------------------+ -" | Basic Settings | -" +----------------------------+ -set timeoutlen=1000 " time in ms until keymap interpreted -set ttimeoutlen=100 " time in ms for key code delay, NEVER USE 0 again!!! if random numbers/letters occur, maybe change this value - -filetype plugin indent on " enable loading indent file for filetype -set ffs=unix,dos,mac " try recognizing dos, unix, and mac line endings. -set encoding=utf-8 " set default encoding to UTF-8. - -" Basic settings -set title " show title in console title bar -set confirm " prompt if closing with unsaved changes. -set laststatus=2 " always show status line -set shortmess+=a " Use [+]/[RO]/[w] for modified/readonly/written. -set showcmd " show command in status line. -set mouse=a " enable mouse usage (all modes) -set history=1000 " sets how many lines of history VIM has to remember -set tabpagemax=100 " sets how many tabs will be opened -set scrolloff=3 " set vertical scroll distance to 7 lines -set backspace=2 " had some issues with BS on empty line didn't deleted line -set noautowrite " never write a file unless I request it. -set noautowriteall " NEVER. -set noautoread " don't automatically re-read changed files. -set nowrap - -" Line/Column settings -set number " Display line numbers -set relativenumber " Display relative line numbers -set ruler " display cursor position -set cursorline " cursor line highlighting -set cursorcolumn " cursor column highlighting - -" buffer settings -set hidden " do not unload abandoned buffers - -" Tab settings -set expandtab " expand tabs to spaces -set tabstop=8 " number of columns a tab counts -set shiftwidth=3 " number of columns text is indented -set softtabstop=3 " number of columns tab counts in insert mode -set shiftround " rounds indent to a multiple of shiftwidth -"set smarttab " Handle tabs more intelligently - -" Fold settings -set foldmethod=marker " set fold method - -" Indentation settings -set autoindent " copy indent from current line when starting a new line -set smartindent " use smart indent if there is no indent file - -augroup aug:CLangStyle - autocmd! - autocmd BufRead,BufNewFile *.h,*.hh,*.hpp,*.c,*.cc,*.cpp set cinoptions=:1,=2,g1,h2 " switch-case/class-lable indentation - autocmd BufRead,BufNewFile * setlocal formatoptions-=cro " disable auto-comment -augroup end - -" Invisible character settings -"set list " show invisible character -set listchars=tab:>-,eol:$,trail:-,precedes:<,extends:> - -" Search settings -set ignorecase " case insensitive matching -set incsearch " incremental search -set hlsearch " highlight search results -set smartcase " overwrite ignorecase if pattern contains capital letters -set showmatch " show matching brackets. -set matchtime=2 " how many tenths of a second to blink when matching brackets -set matchpairs+=<:> " show matching <> as well -set magic " for regular expressions turn magic on - -" Vim command completion settings -set wildmenu " turn on the wild menu -set wildmode=longest:full " cycles between all matching choices. -set wildignore+=*.o,*.obj,.git,*.pyc,*~ " Ignore these files when completing - -" No annoying sound on errors -set noerrorbells -set novisualbell - -" automatically open Quickfix -augroup aug:QuickFixConfig - autocmd! - autocmd QuickFixCmdPost [^l]* nested botright cwindow - autocmd QuickFixCmdPost l* nested botright lwindow -augroup end - -"{{{ Keymaps - - " unset . -" noremap . - " set leader key - "execute "set =\es" - let mapleader=";" - - " re-source .vimrc - nnoremap v :source ~/.vimrc - - "remap esc button -" inoremap - inoremap jj - - " quit buffer - noremap q :bd - - " re-adjust indentation - nnoremap f mzgg=G`z - - " navigate between different splits - nnoremap j - nnoremap k - nnoremap l - nnoremap h - nnoremap j - nnoremap k - nnoremap l - nnoremap h - - " resize splits - "map 5- - "map 5+ - "map 5< - "map 5> - - " navigate between different buffers - nnoremap :bprevious - nnoremap :bnext - nnoremap :bprevious - nnoremap :bnext - - " ctrl-ae jump to line start/end - nnoremap 0 - nnoremap $ - inoremap 0 - inoremap $ - vnoremap 0 - vnoremap $ - cnoremap - cnoremap - - " Shortcut to toggle relative numbering mode - nnoremap :call ToggleRelativeNumber() - - " add a marker fold snippet (for C/C++) - nnoremap o//{{{ o//}}}A - inoremap o//{{{ o//}}}A - " only works with v-block (not v-line) - vnoremap VV''>o//}}}'<A - - " substitute selection - vnoremap "hy:%s/h/h/gc - - " yank/paste into/from register - vnoremap "ay - inoremap a - cnoremap a - - " +-----------------+ - " | Plugin specific | - " +-----------------+ - " Open BufferExplorer - nnoremap :call BufExplorer() - - " Toggle Tagbar - nnoremap t :TagbarToggle - - " build tags of your own project with Ctrl-F12 - map :!ctags -R --sort=yes --c++-kinds=+pl --fields=+iaS --extra=+q --language-force=C++ . - -"}}} -"{{{ Global Highlighting - - " hi clear CursorLine - " augroup aug:CLClear - " autocmd! ColorScheme * hi clear CursorLine - " augroup end - - "hi LineNr ctermfg=208 - - " Highlight color of current line - hi CursorLineNR cterm=bold ctermfg=255 ctermbg=208 - "hi CursorLineNR cterm=bold ctermfg=226 - augroup aug:CLNRSet - autocmd! ColorScheme * hi CursorLineNR cterm=bold ctermfg=255 ctermbg=208 - "autocmd! ColorScheme * hi CursorLineNR cterm=bold ctermfg=226 - augroup end - - " matching brackets - "hi MatchParen cterm=underline ctermbg=141 ctermfg=yellow - hi MatchParen cterm=underline ctermbg=89 ctermfg=208 - "hi MatchParen cterm=underline ctermbg=DarkMagenta ctermfg=12 - -"}}} -"{{{ Functions - " Split Window and scroll down - function! SplitScroll() - :wincmd v - :wincmd w - execute "normal! \" - :set scrollbind - :wincmd w - :set scrollbind - endfunc - - " toggle relative line number mode - function! ToggleRelativeNumber() - if(&relativenumber == 1) - set norelativenumber - else - set relativenumber - endif - endfunc -"}}} - -" +----------------------------+ -" | Tmux specific settings | -" +----------------------------+ -" tmux will send xterm-style keys when its xterm-keys option is on -if &term =~ '^screen' - execute "set =\e[1;*A" - execute "set =\e[1;*B" - execute "set =\e[1;*C" - execute "set =\e[1;*D" -endif diff --git a/README.md b/README.md index 7cb21fb..0085a25 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,10 @@ # dotfiles -- README # author: johannst -- **.vim/colors**: - - solarized: https://github.com/altercation/solarized - - buddy : https://github.com/DrSpatula/vim-buddy - - gruvbox : https://github.com/morhetz/gruvbox - - pride : https://github.com/lyxell/pride.vim - - scheakur : https://github.com/scheakur/vim-scheakur +Currently no installer available! -- **.vim/install_vundle.sh**: - - Installs Vim Bundle package manager +- **print_bash_color** + - display available colors -- **.bashrc/** - - this files should be sourced from within a ~/.bashrc ~/.bash_profile file - -- **.Xresources_solarized** - - https://github.com/solarized/xresources +- **vim/install_vundle.sh**: + - install Vundle vim package manager diff --git a/vim/colors/johannst.vim b/vim/colors/johannst.vim new file mode 100755 index 0000000..6789fe3 --- /dev/null +++ b/vim/colors/johannst.vim @@ -0,0 +1,142 @@ +" dotfiles -- vim/colors/johannst +" author: johannst +" derived from buddy + +set background=dark +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +set t_Co=256 +let g:colors_name = "johannst" + +"{{{ Vim Basic + +hi Normal ctermfg=253 ctermbg=234 cterm=NONE +hi Folded ctermfg=146 ctermbg=238 cterm=NONE +hi Title ctermfg=230 ctermbg=NONE cterm=bold +hi Todo ctermfg=232 ctermbg=222 cterm=NONE +hi NonText ctermfg=247 ctermbg=236 cterm=NONE +hi SpecialKey ctermfg=247 ctermbg=236 cterm=NONE +hi Visual ctermfg=230 ctermbg=238 cterm=NONE +hi VertSplit ctermfg=59 ctermbg=238 cterm=NONE + +"}}} +"{{{ Cursor & LineNumber + +"hi Cursor ctermfg=NONE ctermbg=241 cterm=NONE +hi LineNr ctermfg=239 ctermbg=234 cterm=NONE +hi CursorLineNR ctermfg=255 ctermbg=208 cterm=bold +hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE +hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE +hi MatchParen ctermfg=208 ctermbg=89 cterm=underline + +"}}} +"{{{ Tabline + +hi TabLine ctermbg=235 ctermfg=244 cterm=none +hi TabLineSel ctermbg=208 ctermfg=255 cterm=bold +hi TabLineFill ctermbg=235 ctermfg=0 cterm=NONE +if exists('g:buftabline_enable') + hi BufTabLineActive ctermbg=69 +endif + +"}}} +"{{{ Statusline + +hi StatusLine ctermfg=0 ctermbg=38 cterm=NONE +hi StatusLineNC ctermfg=144 ctermbg=238 cterm=NONE + +"}}} +"{{{ Diff + +hi DiffChange ctermfg=10 ctermbg=17 cterm=NONE +hi DiffText ctermfg=10 ctermbg=88 cterm=NONE +hi DiffAdd ctermfg=10 ctermbg=17 cterm=NONE +hi DiffDelete ctermfg=10 ctermbg=17 cterm=NONE + +"}}} +"{{{ Popup Menu + +hi PMenu ctermfg=NONE ctermbg=235 cterm=NONE +hi PMenuSel ctermfg=255 ctermbg=208 cterm=NONE +hi PMenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE +hi PMenuThumb ctermfg=NONE ctermbg=101 cterm=NONE + +"}}} +"{{{ Language + +hi Comment ctermfg=144 ctermbg=NONE cterm=NONE +hi Label ctermfg=221 ctermbg=NONE cterm=NONE + +" TODO sort +hi Typedef ctermfg=11 ctermbg=NONE cterm=NONE +hi PreCondit ctermfg=167 ctermbg=NONE cterm=NONE +hi Identifier ctermfg=221 ctermbg=NONE cterm=NONE +hi Special ctermfg=221 ctermbg=NONE cterm=NONE +hi Delimiter ctermfg=194 ctermbg=NONE cterm=NONE +hi Operator ctermfg=11 ctermbg=NONE cterm=NONE +hi Function ctermfg=208 ctermbg=NONE cterm=NONE +hi Exception ctermfg=11 ctermbg=NONE cterm=NONE +hi Keyword ctermfg=11 ctermbg=NONE cterm=NONE +hi Tag ctermfg=194 ctermbg=NONE cterm=NONE + +hi Define ctermfg=167 ctermbg=NONE cterm=NONE +hi PreProc ctermfg=167 ctermbg=NONE cterm=NONE +hi Macro ctermfg=167 ctermbg=NONE cterm=NONE +hi Include ctermfg=167 ctermbg=NONE cterm=NONE + +hi Type ctermfg=214 ctermbg=NONE cterm=NONE +hi Boolean ctermfg=11 ctermbg=NONE cterm=NONE +hi Character ctermfg=167 ctermbg=NONE cterm=NONE +hi SpecialChar ctermfg=159 ctermbg=NONE cterm=NONE +hi String ctermfg=81 ctermbg=NONE cterm=NONE +hi Constant ctermfg=167 ctermbg=NONE cterm=NONE +hi Number ctermfg=167 ctermbg=NONE cterm=NONE +hi Float ctermfg=208 ctermbg=NONE cterm=NONE +hi Structure ctermfg=214 ctermbg=NONE cterm=NONE +hi StorageClass ctermfg=208 ctermbg=NONE cterm=NONE + +hi Repeat ctermfg=11 ctermbg=NONE cterm=NONE +hi Statement ctermfg=220 ctermbg=NONE cterm=NONE +hi Conditional ctermfg=11 ctermbg=NONE cterm=NONE + +"}}} +"{{{ not classified yet +"hi Debug ctermfg=194 ctermbg=NONE cterm=NONE +"hi IncSearch +"hi WildMenu +"hi SignColumn +"hi CTagsMember +"hi CTagsGlobalConstant +"hi ErrorMsg +"hi Ignore +"hi CTagsImport +"hi Search +"hi CTagsGlobalVariable +"hi SpellRare +"hi EnumerationValue +"hi Union +"hi Question +"hi WarningMsg +"hi VisualNOS +"hi ModeMsg +"hi FoldColumn +"hi EnumerationName +"hi MoreMsg +"hi SpellCap +"hi DiffChange +"hi SpellLocal +"hi Error +"hi DefinedName +"hi LocalVariable +"hi SpellBad +"hi CTagsClass +"hi Directory +"hi Underlined +"hi clear +"hi SpecialComment +"}}} diff --git a/vim/install_vundle.sh b/vim/install_vundle.sh new file mode 100755 index 0000000..467a419 --- /dev/null +++ b/vim/install_vundle.sh @@ -0,0 +1,15 @@ +# dotfiles -- vim/install_vundle.sh +# author: johannst + +# if INSTALL_DIR changed, it must be also changed in vimrc (lf runtimepath) +INSTALL_DIR=~/.vim/bundle + +if [ ! -d $INSTALL_DIR ]; then + mkdir $INSTALL_DIR +fi +if [ ! -d $INSTALL_DIR/Vundle.vim ]; then + git clone https://github.com/VundleVim/Vundle.vim.git $INSTALL_DIR/Vundle.vim +fi + +# install plugins +vim +PluginInstall +qall diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..3cca783 --- /dev/null +++ b/vimrc @@ -0,0 +1,283 @@ +" dotfiles -- vimrc +" author: johannst + +set nocompatible +inoremap jj + +let mapleader=";" +nnoremap ev :edit ~/.vimrc +nnoremap sv :source ~/.vimrc + +"{{{ Plugin Management + +" to install plugins open vim and run :PluginInstall from within vim OR +" vim +PluginInstall +qall from cmd line + +filetype off " necessary for vundle!!! +set runtimepath+=~/.vim/bundle/Vundle.vim + +call vundle#begin() + +Plugin 'VundleVim/Vundle.vim' + +let g:bufexplorer_enable="-" +Plugin 'jlanzarotta/bufexplorer' + +let g:buftabline_enable="-" +Plugin 'ap/vim-buftabline' + +"let g:airline_enable="-" +"Plugin 'vim-airline/vim-airline' +"Plugin 'vim-airline/vim-airline-themes' + +let g:tagbar_enable="-" +Plugin 'majutsushi/tagbar' + +let g:ctrlp_enable="-" +Plugin 'kien/ctrlp.vim' + +"let g:omnicppcomplete_enable="-" +"Plugin 'vim-scripts/OmniCppComplete' + +call vundle#end() + +"}}} +"{{{ Plugin Config + +if exists('g:bufexplorer_enable') + nnoremap be :call BufExplorer() +endif + +if exists('g:airline_enable') + let g:airline#extensions#tabline#enabled = 1 + let g:airline#extensions#tabline#fnamemod = ':t' + let g:airline_powerline_fonts = 1 + if !exists('g:airline_symbols') + let g:airline_symbols = {} + endif +endif + +if exists('g:tagbar_enable') + let g:tagbar_ctags_bin='~/.vim/bin/ctags' + if !empty(glob(g:tagbar_ctags_bin)) + augroup aug:TagbarKeymaps + autocmd! + autocmd FileType c,cpp nnoremap tb :TagbarToggle + augroup end + else + echom "[vimrc]: ctags not detected, please link to " g:tagbar_ctags_bin + endif +endif + +if exists('g:ctrlp_enable') + let g:ctrlp_buftag_ctags_bin='~/.vim/bin/ctags' + let g:ctrlp_extensions = ['buffertag', 'line', 'changes', 'mixed'] +endif + +if exists('g:buftabline_enable') + let g:buftabline_indicators = 1 +endif + +if exists('g:omnicppcomplete_enable') + set tags+=~/.vim/tags/cpp_tags + let OmniCpp_NamespaceSearch = 1 + let OmniCpp_GlobalScopeSearch = 1 + let OmniCpp_ShowAccess = 1 + let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters + let OmniCpp_MayCompleteDot = 1 " autocomplete after . + let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> + let OmniCpp_MayCompleteScope = 1 " autocomplete after :: + let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] + " automatically open and close the popup menu / preview window + autocmd! CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif + set completeopt=menuone,menu,longest,preview +endif + +"}}} +"{{{ Vim Basic + +syntax on +"set background=dark +colorscheme johannst + +filetype plugin indent on " enable loading indent file for filetype +set fileformats=unix,dos,mac " try recognizing dos, unix, and mac line endings. +set encoding=utf-8 " set default encoding to UTF-8. + +set confirm " prompt if closing with unsaved changes. +set shortmess=tTa " use abbreviations in messages and truncate too long strings +set showcmd " show command at end of cmd line (like keymaps,..) + +set scrolloff=3 " set vertical scroll distance to 3 lines +set nowrap " dont't wrap text + +set backspace=indent,eol,start " backspace behav in insert mode + +set noautowrite " never write a file unless I request it. +set noautowriteall " NEVER. +set noautoread " don't automatically re-read changed files. + +set number " display line numbers +set relativenumber " display relative line numbers + +set cursorline " cursor line highlighting +set cursorcolumn " cursor column highlighting + +"set list " show invisible character +set listchars=tab:>-,eol:$,trail:-,precedes:<,extends:> + +"}}} +"{{{ Basic Movement + +" ctrl-ae jump to line start/end +nnoremap 0 +nnoremap $ +inoremap 0 +inoremap $ +vnoremap 0 +vnoremap $ +cnoremap +cnoremap + +"}}} +"{{{ Folding + +set foldmethod=marker + +augroup aug:FileTypeCommentString + autocmd! + autocmd FileType vim execute "let b:comment_symbol=\"\\\"\"" + autocmd FileType c,cpp execute "let b:comment_symbol=\"//\"" + autocmd FileType sh,make,python execute "let b:comment_symbol=\"#\"" +augroup end + +augroup aug:FoldMarkerKeymaps + autocmd! + autocmd FileType * if exists('b:comment_symbol') | execute "nnoremap fm o". b:comment_symbol . "{{{ o" . b:comment_symbol. "}}}A" | endif + autocmd FileType * if exists('b:comment_symbol') | execute "inoremap fm o". b:comment_symbol . "{{{ o" . b:comment_symbol. "}}}A" | endif + autocmd FileType * if exists('b:comment_symbol') | execute "vnoremap fm VV''>o" . b:comment_symbol. "}}}'<A" | endif +augroup end + +"}}} +"{{{ Tabwidth + +set expandtab " expand tabs to spaces +set tabstop=8 " number of columns a tab counts +set shiftwidth=3 " number of columns text is indented +set softtabstop=3 " number of columns tab counts in insert mode +set shiftround " rounds indent to a multiple of shiftwidth + +"}}} +"{{{ Search & Replace + +set ignorecase " case insensitive matching +set incsearch " already start searching while typing pattern +set hlsearch " highlight search results +set smartcase " overwrite ignorecase if pattern contains capital letters +set showmatch " show matching brackets. +set matchtime=5 " how many tenths of a second to blink when matching brackets +set matchpairs+=<:> " show matching <> as well + +vnoremap r "hy:%s/h/h/gc + +"}}} +"{{{ Buffer & Splits + +set hidden " do not unload abandoned buffers +noremap q :bd + +" navigate between different buffers +nnoremap :bprevious +nnoremap :bnext +nnoremap :bprevious +nnoremap :bnext + +" move between splits +nnoremap j +nnoremap k +nnoremap l +nnoremap h +nnoremap j +nnoremap k +nnoremap l +nnoremap h + +" resize splits +"(deprecated) map 5- +"(deprecated) map 5+ +"(deprecated) map 5< +"(deprecated) map 5> + +"}}} +"{{{ Statusline + +set laststatus=2 " always show status line +set ruler " display cursor position in status line + +"}}} +"{{{ Indentation + +nnoremap ri mzgg=G`z +set autoindent " copy indent from current line when starting a new line +set smartindent " use smart indent if there is no indent file + +augroup aug:VimLangStyle + autocmd! + autocmd FileType vim setlocal formatoptions-=cro " disable auto-comment +augroup end + +augroup aug:CLangStyle + autocmd! + autocmd FileType c,cpp setlocal cinoptions=:1,=2,g1,h2 " switch-case/class-lable indentation + autocmd FileType c,cpp setlocal formatoptions-=cro " disable auto-comment +augroup end + +"}}} +"{{{ Wildmenu + +" Vim command completion settings +set wildmenu " turn on the wild menu +set wildmode=longest:full " cycles between all matching choices. +set wildignore+=*.o,*.obj,.git,*.pyc,*~ " Ignore these files when completing + +"}}} +"{{{ Save & Restore + +augroup aug:AutoSaveResore + autocmd! + "autocmd VimEnter * silent! source .vim_last_session + "autocmd QuitPre * mksession! .vim_last_session +augroup end + +"}}} +"{{{ QuickFix + +augroup aug:QuickFixConfig + autocmd! + autocmd QuickFixCmdPost [^l]* nested botright cwindow + autocmd QuickFixCmdPost l* nested botright lwindow +augroup end + +"}}} +"{{{ SCons Integration + +function! TriggerSCons(arg_string) + let base_cmd = "scons -u " + let &makeprg=base_cmd.a:arg_string + make +endfunction +" use like :SCons -j20 ... +command! -nargs=1 SCons call TriggerSCons() + +"}}} +"{{{ Tmux Specific + +"" tmux will send xterm-style keys when its xterm-keys option is on +"if &term =~ '^screen' +" execute "set =\e[1;*A" +" execute "set =\e[1;*B" +" execute "set =\e[1;*C" +" execute "set =\e[1;*D" +"endif + +"}}} -- cgit v1.2.3