├── README.md └── colors └── hybrid.vim /README.md: -------------------------------------------------------------------------------- 1 | # hybrid.vim 2 | 3 | A dark colour scheme for Vim that combines the: 4 | 5 | - Default palette from [Tomorrow-Night](https://github.com/chriskempson/vim-tomorrow-theme). 6 | - Reduced contrast palette from [Codecademy](https://www.codecademy.com)'s 7 | online editor. 8 | - Syntax group highlighting scheme from [Jellybeans](https://github.com/nanotech/jellybeans.vim) 9 | - Vimscript from [Solarized](https://github.com/altercation/vim-colors-solarized) 10 | 11 | ## Updates 12 | 13 | - 05/01/2016: Replaced `let g:hybrid_use_Xresources = 1` in favour of __`let 14 | g:hybrid_custom_term_colors = 1`__ 15 | - 05/01/2016: Added `let g:hybrid_reduced_contrast = 1` 16 | 17 | ## Requirements 18 | 19 | - gVim 7.3+ on Linux, Mac and Windows. 20 | - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. 21 | 22 | ## Installation 23 | 24 | 1. Copy colors/hybrid.vim to: 25 | 26 | ``` 27 | ~/.vim/colors/hybrid.vim 28 | ``` 29 | 30 | or alternatively, use a plugin manger such as 31 | [vim-plug](https://github.com/junegunn/vim-plug), 32 | [NeoBundle](https://github.com/Shougo/neobundle.vim), 33 | [Vundle](https://github.com/gmarik/Vundle.vim), or 34 | [Pathogen](https://github.com/tpope/vim-pathogen). 35 | 36 | 2. Add to ~/.vimrc: 37 | 38 | ```vim 39 | set background=dark 40 | colorscheme hybrid 41 | ``` 42 | 43 | ## Define custom terminal colours (recommended) 44 | 45 | Due to the limited 256 palette, colours in Vim and gVim will still be slightly 46 | different. 47 | 48 | In order to have Vim use the same colours as gVim (the way this colour scheme 49 | is intended) define the basic 16 colours in your terminal. 50 | 51 | #### Linux users: rxvt-unicode, xterm 52 | 53 | 1. Add the default palette to ~/.Xresources: 54 | 55 | https://gist.github.com/3278077 56 | 57 | ![palette](http://dl.dropbox.com/u/23813887/Xresources-palette.png) 58 | 59 | or alternatively, add the reduced contrast palette to ~/.Xresources: 60 | 61 | https://gist.github.com/w0ng/16e33902508b4a0350ae 62 | 63 | ![palette](https://www.dropbox.com/s/0ny88dmfw84kcma/Xresources-palette-low.png?dl=1) 64 | 65 | 2. Add to ~/.vimrc: 66 | 67 | ```vim 68 | let g:hybrid_custom_term_colors = 1 69 | let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. 70 | colorscheme hybrid 71 | ``` 72 | 73 | #### OSX users: iTerm 74 | 75 | 1. Import the default colour preset into iTerm: 76 | 77 | https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors 78 | 79 | ![iterm_palette](http://i.imgur.com/wSWCyen.png) 80 | 81 | or alternatively, import the reduced contrast color preset into iTerm: 82 | 83 | https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors 84 | 85 | ![iterm_palette_reduced](https://www.dropbox.com/s/mrvr3ftkmym0fok/iterm_palette_reduced.png?dl=1) 86 | 87 | 88 | 2. Add to ~/.vimrc: 89 | 90 | ```vim 91 | let g:hybrid_custom_term_colors = 1 92 | let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. 93 | colorscheme hybrid 94 | ``` 95 | 96 | ## Screenshots 97 | 98 | ### Default palette on Linux 99 | 100 | ![vim-help](http://dl.dropbox.com/u/23813887/vim-help.png) 101 | ![vim-python](http://dl.dropbox.com/u/23813887/vim-python.png) 102 | ![vim-markdown](http://dl.dropbox.com/u/23813887/vim-markdown.png) 103 | ![vim-diff](http://dl.dropbox.com/u/23813887/vim-diff.png) 104 | ![vim-spell](https://dl.dropboxusercontent.com/u/23813887/vim-spell.png) 105 | 106 | ### Reduced contrast palette on OSX 107 | 108 | ![vim-reduced1](https://www.dropbox.com/s/57mjs7rfzq1h128/vim-reduced1.png?dl=1) 109 | ![vim-reduced2](https://www.dropbox.com/s/l6nvcm91llfxwjx/vim-reduced2.png?dl=1) 110 | ![vim-reduced3](https://www.dropbox.com/s/838qoahio9klsz6/vim-reduced3.png?dl=1) 111 | -------------------------------------------------------------------------------- /colors/hybrid.vim: -------------------------------------------------------------------------------- 1 | " File: hybrid.vim 2 | " Maintainer: Andrew Wong (w0ng) 3 | " URL: https://github.com/w0ng/vim-hybrid 4 | " Modified: 27 Jan 2013 07:33 AM AEST 5 | " License: MIT 6 | 7 | " Description:"{{{ 8 | " ---------------------------------------------------------------------------- 9 | " The default RGB colour palette is taken from Tomorrow-Night.vim: 10 | " https://github.com/chriskempson/vim-tomorrow-theme 11 | " 12 | " The reduced RGB colour palette is taken from Codecademy's online editor: 13 | " https://www.codecademy.com/learn 14 | " 15 | " The syntax highlighting scheme is taken from jellybeans.vim: 16 | " https://github.com/nanotech/jellybeans.vim 17 | " 18 | " The is code taken from solarized.vim: 19 | " https://github.com/altercation/vim-colors-solarized 20 | 21 | "}}} 22 | " Requirements And Recommendations:"{{{ 23 | " ---------------------------------------------------------------------------- 24 | " Requirements 25 | " - gVim 7.3+ on Linux, Mac and Windows. 26 | " - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours. 27 | " 28 | " Due to the limited 256 palette, colours in Vim and gVim will still be slightly 29 | " different. 30 | " 31 | " In order to have Vim use the same colours as gVim (the way this colour scheme 32 | " is intended), it is recommended that you define the basic 16 colours in your 33 | " terminal. 34 | " 35 | " For Linux users (rxvt-unicode, xterm): 36 | " 37 | " 1. Add the default palette to ~/.Xresources: 38 | " 39 | " https://gist.github.com/3278077 40 | " 41 | " or alternatively, add the reduced contrast palette to ~/.Xresources: 42 | " 43 | " https://gist.github.com/w0ng/16e33902508b4a0350ae 44 | " 45 | " 2. Add to ~/.vimrc: 46 | " 47 | " let g:hybrid_custom_term_colors = 1 48 | " let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. 49 | " colorscheme hybrid 50 | " 51 | " For OSX users (iTerm): 52 | " 53 | " 1. Import the default colour preset into iTerm: 54 | " 55 | " https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors 56 | " 57 | " or alternatively, import the reduced contrast color preset into iTerm: 58 | " 59 | " https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors 60 | " 61 | " 2. Add to ~/.vimrc: 62 | " 63 | " let g:hybrid_custom_term_colors = 1 64 | " let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. 65 | " colorscheme hybrid 66 | 67 | "}}} 68 | " Initialisation:"{{{ 69 | " ---------------------------------------------------------------------------- 70 | 71 | hi clear 72 | 73 | if exists("syntax_on") 74 | syntax reset 75 | endif 76 | 77 | let s:style = &background 78 | 79 | let g:colors_name = "hybrid" 80 | 81 | "}}} 82 | " GUI And Cterm Palettes:"{{{ 83 | " ---------------------------------------------------------------------------- 84 | 85 | let s:palette = {'gui' : {} , 'cterm' : {}} 86 | 87 | if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1 88 | let s:gui_background = "#232c31" 89 | let s:gui_selection = "#425059" 90 | let s:gui_line = "#2d3c46" 91 | let s:gui_comment = "#6c7a80" 92 | else 93 | let s:gui_background = "#1d1f21" 94 | let s:gui_selection = "#373b41" 95 | let s:gui_line = "#282a2e" 96 | let s:gui_comment = "#707880" 97 | endif 98 | 99 | let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" } 100 | let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" } 101 | let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" } 102 | let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" } 103 | let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" } 104 | let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" } 105 | let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" } 106 | let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" } 107 | let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" } 108 | let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" } 109 | let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" } 110 | let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" } 111 | let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" } 112 | let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" } 113 | let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" } 114 | let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" } 115 | let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" } 116 | let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" } 117 | let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" } 118 | let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" } 119 | let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" } 120 | let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" } 121 | let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" } 122 | 123 | if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 124 | let s:cterm_foreground = "15" " White 125 | let s:cterm_selection = "8" " DarkGrey 126 | let s:cterm_line = "0" " Black 127 | let s:cterm_comment = "7" " LightGrey 128 | let s:cterm_red = "9" " LightRed 129 | let s:cterm_orange = "3" " DarkYellow 130 | let s:cterm_yellow = "11" " LightYellow 131 | let s:cterm_green = "10" " LightGreen 132 | let s:cterm_aqua = "14" " LightCyan 133 | let s:cterm_blue = "12" " LightBlue 134 | let s:cterm_purple = "13" " LightMagenta 135 | let s:cterm_delbg = "9" " LightRed 136 | else 137 | let s:cterm_foreground = "250" 138 | let s:cterm_selection = "237" 139 | let s:cterm_line = "235" 140 | let s:cterm_comment = "243" 141 | let s:cterm_red = "167" 142 | let s:cterm_orange = "173" 143 | let s:cterm_yellow = "221" 144 | let s:cterm_green = "143" 145 | let s:cterm_aqua = "109" 146 | let s:cterm_blue = "110" 147 | let s:cterm_purple = "139" 148 | let s:cterm_delbg = "167" 149 | endif 150 | 151 | let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" } 152 | let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" } 153 | let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" } 154 | let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" } 155 | let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" } 156 | let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" } 157 | let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" } 158 | let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" } 159 | let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" } 160 | let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" } 161 | let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" } 162 | let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" } 163 | let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" } 164 | let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" } 165 | let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" } 166 | let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" } 167 | let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" } 168 | let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" } 169 | let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" } 170 | let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" } 171 | let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" } 172 | let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" } 173 | let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" } 174 | 175 | "}}} 176 | " Formatting Options:"{{{ 177 | " ---------------------------------------------------------------------------- 178 | let s:none = "NONE" 179 | let s:t_none = "NONE" 180 | let s:n = "NONE" 181 | let s:c = ",undercurl" 182 | let s:r = ",reverse" 183 | let s:s = ",standout" 184 | let s:b = ",bold" 185 | let s:u = ",underline" 186 | let s:i = ",italic" 187 | 188 | "}}} 189 | " Highlighting Primitives:"{{{ 190 | " ---------------------------------------------------------------------------- 191 | function! s:build_prim(hi_elem, field) 192 | " Given a:hi_elem = bg, a:field = comment 193 | let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment 194 | let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=... 195 | let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=... 196 | exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'" 197 | endfunction 198 | 199 | let s:bg_none = ' guibg=NONE ctermbg=NONE' 200 | call s:build_prim('bg', 'foreground') 201 | call s:build_prim('bg', 'background') 202 | call s:build_prim('bg', 'selection') 203 | call s:build_prim('bg', 'line') 204 | call s:build_prim('bg', 'comment') 205 | call s:build_prim('bg', 'red') 206 | call s:build_prim('bg', 'orange') 207 | call s:build_prim('bg', 'yellow') 208 | call s:build_prim('bg', 'green') 209 | call s:build_prim('bg', 'aqua') 210 | call s:build_prim('bg', 'blue') 211 | call s:build_prim('bg', 'purple') 212 | call s:build_prim('bg', 'window') 213 | call s:build_prim('bg', 'darkcolumn') 214 | call s:build_prim('bg', 'addbg') 215 | call s:build_prim('bg', 'addfg') 216 | call s:build_prim('bg', 'changebg') 217 | call s:build_prim('bg', 'changefg') 218 | call s:build_prim('bg', 'delbg') 219 | call s:build_prim('bg', 'darkblue') 220 | call s:build_prim('bg', 'darkcyan') 221 | call s:build_prim('bg', 'darkred') 222 | call s:build_prim('bg', 'darkpurple') 223 | 224 | let s:fg_none = ' guifg=NONE ctermfg=NONE' 225 | call s:build_prim('fg', 'foreground') 226 | call s:build_prim('fg', 'background') 227 | call s:build_prim('fg', 'selection') 228 | call s:build_prim('fg', 'line') 229 | call s:build_prim('fg', 'comment') 230 | call s:build_prim('fg', 'red') 231 | call s:build_prim('fg', 'orange') 232 | call s:build_prim('fg', 'yellow') 233 | call s:build_prim('fg', 'green') 234 | call s:build_prim('fg', 'aqua') 235 | call s:build_prim('fg', 'blue') 236 | call s:build_prim('fg', 'purple') 237 | call s:build_prim('fg', 'window') 238 | call s:build_prim('fg', 'darkcolumn') 239 | call s:build_prim('fg', 'addbg') 240 | call s:build_prim('fg', 'addfg') 241 | call s:build_prim('fg', 'changebg') 242 | call s:build_prim('fg', 'changefg') 243 | call s:build_prim('fg', 'darkblue') 244 | call s:build_prim('fg', 'darkcyan') 245 | call s:build_prim('fg', 'darkred') 246 | call s:build_prim('fg', 'darkpurple') 247 | 248 | exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" 249 | exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" 250 | exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" 251 | exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" 252 | exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" 253 | exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" 254 | exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" 255 | exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" 256 | exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" 257 | exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" 258 | exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" 259 | 260 | exe "let s:sp_none = ' guisp=". s:none ."'" 261 | exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'" 262 | exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'" 263 | exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'" 264 | exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'" 265 | exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'" 266 | exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'" 267 | exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'" 268 | exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'" 269 | exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'" 270 | exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'" 271 | exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'" 272 | exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'" 273 | exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'" 274 | exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'" 275 | exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'" 276 | exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'" 277 | exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'" 278 | exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'" 279 | exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'" 280 | exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'" 281 | exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'" 282 | 283 | "}}} 284 | " Vim Highlighting: (see :help highlight-groups)"{{{ 285 | " ---------------------------------------------------------------------------- 286 | exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none 287 | " Conceal" 288 | " Cursor" 289 | " CursorIM" 290 | exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none 291 | exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none 292 | exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none 293 | exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none 294 | exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none 295 | exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none 296 | exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none 297 | exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd 298 | exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none 299 | exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none 300 | exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none 301 | exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none 302 | " Incsearch" 303 | exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none 304 | exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none 305 | exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none 306 | exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none 307 | exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none 308 | exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none 309 | exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none 310 | exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr 311 | " PmenuSbar" 312 | " PmenuThumb" 313 | exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none 314 | exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none 315 | exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none 316 | exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr 317 | exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr 318 | exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr 319 | exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr 320 | exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr 321 | exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr 322 | exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr 323 | " TabLineFill" 324 | " TabLineSel" 325 | exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none 326 | exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none 327 | " VisualNos" 328 | exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none 329 | " FIXME LongLineWarning to use variables instead of hardcoding 330 | hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline 331 | " WildMenu" 332 | 333 | " Use defined custom background colour for terminal Vim. 334 | if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1 335 | let s:bg_normal = s:bg_none 336 | else 337 | let s:bg_normal = s:bg_background 338 | endif 339 | exe "hi! Normal" .s:fg_foreground .s:bg_normal .s:fmt_none 340 | 341 | "}}} 342 | " Generic Syntax Highlighting: (see :help group-name)"{{{ 343 | " ---------------------------------------------------------------------------- 344 | exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none 345 | 346 | exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none 347 | exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none 348 | " Character" 349 | " Number" 350 | " Boolean" 351 | " Float" 352 | 353 | exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none 354 | exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none 355 | 356 | exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none 357 | " Conditional" 358 | " Repeat" 359 | " Label" 360 | exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none 361 | " Keyword" 362 | " Exception" 363 | 364 | exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none 365 | " Include" 366 | " Define" 367 | " Macro" 368 | " PreCondit" 369 | 370 | exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none 371 | " StorageClass" 372 | exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none 373 | " Typedef" 374 | 375 | exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none 376 | " SpecialChar" 377 | " Tag" 378 | " Delimiter" 379 | " SpecialComment" 380 | " Debug" 381 | " 382 | exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none 383 | 384 | exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none 385 | 386 | exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr 387 | 388 | exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fmt_none 389 | 390 | " Quickfix window highlighting 391 | exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none 392 | " qfFileName" 393 | " qfLineNr" 394 | " qfError" 395 | 396 | "}}} 397 | " Diff Syntax Highlighting:"{{{ 398 | " ---------------------------------------------------------------------------- 399 | " Diff 400 | " diffOldFile 401 | " diffNewFile 402 | " diffFile 403 | " diffOnly 404 | " diffIdentical 405 | " diffDiffer 406 | " diffBDiffer 407 | " diffIsA 408 | " diffNoEOL 409 | " diffCommon 410 | hi! link diffRemoved Constant 411 | " diffChanged 412 | hi! link diffAdded Special 413 | " diffLine 414 | " diffSubname 415 | " diffComment 416 | 417 | "}}} 418 | " 419 | " This is needed for some reason: {{{ 420 | 421 | let &background = s:style 422 | 423 | " }}} 424 | " Legal:"{{{ 425 | " ---------------------------------------------------------------------------- 426 | " Copyright (c) 2011 Ethan Schoonover 427 | " Copyright (c) 2009-2012 NanoTech 428 | " Copyright (c) 2012 w0ng 429 | " 430 | " Permission is hereby granted, free of charge, to any per‐ 431 | " son obtaining a copy of this software and associated doc‐ 432 | " umentation files (the “Software”), to deal in the Soft‐ 433 | " ware without restriction, including without limitation 434 | " the rights to use, copy, modify, merge, publish, distrib‐ 435 | " ute, sublicense, and/or sell copies of the Software, and 436 | " to permit persons to whom the Software is furnished to do 437 | " so, subject to the following conditions: 438 | " 439 | " The above copyright notice and this permission notice 440 | " shall be included in all copies or substantial portions 441 | " of the Software. 442 | " 443 | " THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY 444 | " KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 445 | " THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ 446 | " LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 447 | " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 448 | " DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ 449 | " TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ 450 | " NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 451 | " THE SOFTWARE. 452 | 453 | " }}} 454 | --------------------------------------------------------------------------------