-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathjb.vim
507 lines (453 loc) · 19.8 KB
/
jb.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
" ====================================================================================
" Vim Color File
" URL: https://github.com/devsjc/vim-jb
" Filename: colors/jb.vim
" Author: devsjc
" License: The MIT License (MIT)
" Based On: https://github.com/drewtempelmeyer/palenight.vim
" ====================================================================================
" === Initializaion ==================================================================
highlight clear
set cursorline
if exists("syntax_on")
syntax reset
endif
" Define the xterm settings
set t_Co=256
let &t_Cs = "\e[4:3m"
let &t_Ce = "\e[4:0m"
let g:colors_name="jb"
let g:jb_termcolors = 256
let s:config = jb#GetConfig()
let s:colors = jb#GetColors(s:config.style, s:config.overrides)
" UI configuration
if s:config.enable_unicode == 1
" Use box drawing characters for vertical split
set fillchars-=vert:\| | set fillchars+=vert:\│
" Use box drawing characters for gitgutter signs
let g:gitgutter_sign_added = '┃'
let g:gitgutter_sign_modified = '┃'
let g:gitgutter_sign_removed = '┃'
let g:gitgutter_sign_removed_first_line = '┓'
let g:gitgutter_sign_removed_above_and_below = '╏'
let g:gitgutter_sign_modified_removed = '┨'
endif
" Remove the tilde from the end of the buffer (ending whitespace required!)
set fillchars-=eob:\~ | set fillchars+=eob:\
" === FUNCTIONS =======================================================================
" This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/
" Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/
function! s:h(group, style)
if s:config.enable_italic == 0
if has_key(a:style, "cterm") && a:style["cterm"] == "italic"
unlet a:style.cterm
endif
if has_key(a:style, "gui") && a:style["gui"] == "italic"
unlet a:style.gui
endif
endif
let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE")
let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE" )
execute "highlight" a:group
\ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE")
\ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE")
\ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE")
\ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE")
\ "ctermfg=" . l:ctermfg
\ "ctermbg=" . l:ctermbg
\ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE")
\ "ctermul=" (has_key(a:style, "ctermul") ? a:style.ctermul : "NONE")
endfunction
" === JETBRAINS COLOR GROUPS ==========================================================
" General
call s:h("JBDefault", { "fg": s:colors.text }) " Standard text
call s:h("JBHyperlink", { "fg": s:colors.link, "gui": "underline", "cterm": "underline" })
call s:h("JBTodo", { "fg": s:colors.todo }) " TODOs
call s:h("JBSearchResult", { "bg": s:colors.search }) " Search results
call s:h("JBFoldedText", { "fg": s:colors.comment, "bg": s:colors.folded }) " Folded text
call s:h("JBError", { "gui": "underline", "cterm": "undercurl", "sp": s:colors.err, "ctermul": "red" }) " Doesn't match JB exactly, can't do seperate color undercurls in terminal
call s:h("JBWarning", { "gui": "undercurl", "cterm": "undercurl", "sp": s:colors.warning, "ctermul": "yellow" })
call s:h("JBCursor", { "fg": s:colors.editor, "bg": s:colors.comment }) " Cursor
" Language defaults
call s:h("JBString", { "fg": s:colors.string }) " Strings
call s:h("JBStringRef", { "fg": s:colors.stringref }) "References within strings
call s:h("JBNumber", { "fg": s:colors.number }) " Numbers (floats, ints)
call s:h("JBKeyword", { "fg": s:colors.keyword }) " Keywords
call s:h("JBFunction", { "fg": s:colors.function }) " Functions (calls and definitions)
call s:h("JBComment", { "fg": s:colors.comment }) " Comment text
call s:h("JBCommentRef", { "fg": s:colors.commentref }) " References within comments e.g. to classes
call s:h("JBDocComment", { "fg": s:colors.doccomment }) " Documentation comments
call s:h("JBConstant", { "fg": s:colors.const }) " Constants
call s:h("JBType", { "fg": s:colors.type }) " Types
call s:h("JBTag", { "fg": s:colors.tag }) " Tags
call s:h("JBMatchedBracket", { "fg": s:colors.text, "bg": s:colors.folded, "gui": "bold", "cterm": "bold" }) " Matching brackets
call s:h("JBStruct", { "fg": s:colors.struct })
call s:h("JBVirtualText", { "fg": s:colors.virtual }) " Virtual text
" Diff and Merge
call s:h("JBDiffAddedLine", { "bg": s:colors.diffadd }) " Newly inserted lines in diff
call s:h("JBDiffChangedLine", { "bg": s:colors.diffmod }) " Changed lines in diff
call s:h("JBDiffChangedText", { "bg": s:colors.difftext }) " Changed text in diff
call s:h("JBDiffDeletedLine", { "bg": s:colors.diffdel }) " Deleted lines in diff
" Gutter
call s:h("JBGutterAddedLine", { "fg": s:colors.gutteradd }) " Added lines in gutter
call s:h("JBGutterChangedLine", { "fg": s:colors.guttermod }) " Changed lines in gutter
call s:h("JBGutterDeletedLine", { "fg": s:colors.gutterdel }) " Deleted lines in gutter
call s:h("JBGutterLineNr", { "fg": s:colors.virtual }) " Line numbers in gutter
" UI
call s:h("JBEditorBG", { "bg": s:colors.editor }) " Editor background
call s:h("JBTree", { "fg": s:colors.text, "bg": s:colors.folded }) " Tree text
call s:h("JBTreeBG", { "bg": s:colors.folded }) " Tree background
call s:h("JBDivider", { "fg": s:colors.diffdel }) " Divider between panes
" === VIM HIGHLIGHT GROUPS ============================================================
" See :help highlight-groups for more information
" --- Major ---
highlight! link Normal JBDefault
highlight! link Comment JBComment
highlight! link Constant JBConstant
highlight! link Identifier JBFunction
highlight! link Statement JBKeyword
highlight! link PreProc JBCommentRef
highlight! link Type JBType
highlight! link Special JBKeyword
call s:h("Underline", { "gui": "underline", "cterm": "underline" })
call s:h("Ignore", {})
highlight! link Error JBError
highlight! link Todo JBTodo
" --- Minor ---
highlight! link String JBString
highlight! link Character Normal
highlight! link Number JBNumber
highlight! link Boolean Number
highlight! link Float Number
highlight! link Function Identifier
highlight! link Keyword JBKeyword
highlight! link Conditional Keyword
highlight! link Repeat Keyword
highlight! link Label JBVirtualText
highlight! link Include Keyword
highlight! link Define Keyword
highlight! link Macro Keyword
highlight! link SpecialChar Keyword
highlight! link Operator Normal
highlight! link Exception Error
highlight! link PreCondit PreProc
highlight! link StorageClass Type
highlight! link Structure Type
highlight! link Typedef Type
highlight! link Tag JBTag
highlight! link Delimiter Normal
highlight! link SpecialComment Keyword
highlight! link Debug Tag
" --- Text ---
highlight! link Cursor JBCursor
highlight! link LineNr JBGutterLineNr
highlight! link CursorLineNr JBCommentRef
highlight! link NormalNC Normal
highlight! link Folded JBFoldedText
highlight! link FoldColumn Folded
highlight! link SignColumn Normal
highlight! link Search JBSearchResult
highlight! link IncSearch JBDiffChangedText
highlight! link CurSearch IncSearch
highlight! link ColorColumn JBTreeBG
highlight! link Conceal JBGutterLineNr
highlight! link vCursor Cursor
highlight! link iCursor Cursor
highlight! link lCursor Cursor
highlight! link CursorIM Cursor
highlight! link CursorLine JBTreeBG
highlight! link CursorColumn CursorLine
highlight! link MatchParen JBMatchedBracket
highlight! link Title Constant
" --- Diff and Merge ---
highlight! link Added JJBGutterAddedLine
highlight! link Changed JBGutterChangedLine
highlight! link DiffAdd JBDiffAddedLine
highlight! link DiffChange JBDiffChangedLine
highlight! link DiffText JBDiffChangedText
highlight! link DiffDelete JBDiffDeletedLine
" --- Diagnostics ---
highlight! link ErrorText Error
highlight! link WarningText JBWarning
highlight! link InfoText Underline
highlight! link HintText Underline
highlight clear ErrorLine
highlight clear WarningLine
highlight clear InfoLine
highlight clear HintLine
highlight! link ErrorMsg Error
highlight! link WarningMsg JBWarning
highlight! link Question JBWarning
call s:h("ModeMsg", { "fg": s:colors.text, "gui": "bold", "cterm": "bold" }) "Mode message
call s:h("MoreMsg", { "fg": s:colors.function, "gui": "bold", "cterm": "bold" }) "More message
highlight! link SpellBad Underline
highlight! link SpellCap Underline
highlight! link SpellRare Underline
highlight! link SpellLocal Underline
highlight! link NonText LineNr
highlight! link WhiteSpace LineNr
highlight! link SpecialKey LineNr
" --- UI ---
highlight! link Pmenu JBTree
highlight! link PmenuSbar Comment
highlight! link PmenuSel Cursor
call s:h("PmenuKind", { "fg": s:colors.type, "bg": s:colors.folded }) "Popup menu kind
call s:h("PmenuExtra", { "fg": s:colors.comment, "bg": s:colors.folded }) "Popup menu extra
highlight! link WildMenu PmenuSel
highlight! link Directory String
call s:h("FloatBorder", { "fg": s:colors.diffdel, "bg": s:colors.editor }) "Float border
highlight! link NormalFloat Normal
highlight! link Terminal Normal
highlight! link EndOfBuffer JBEditorBG
highlight! link StatusLine JBTree
highlight! link StatusLineTerm StatusLine
call s:h("StatusLineNC", { "fg": s:colors.diffdel, "bg": s:colors.folded }) "Status line inactive
highlight! link StatusLineTermNC StatusLineNC
highlight! link TabLine JBTree
highlight! link TabLineFill JBTree
highlight! link TabLineSel Cursor
highlight! link VertSplit JBDivider
highlight! link WinSeparator VertSplit
highlight! link ToolbarButton Cursor
" Visual mode
call s:h("Visual", { "bg": s:colors.folded }) "Visual selection
call s:h("VisualNOS", { "bg": s:colors.folded, "gui": "underline", "cterm": "underline" }) "Visual selection
call s:h("QuickFixLine", { "fg": s:colors.link, "gui": "bold", "cterm": "bold" }) "Quickfix selected line
highlight! link Debug Tag
call s:h("debugBreakpoint", { "fg": s:colors.text, "bg": s:colors.err1 }) "Debug
" Terminal
if has('terminal')
let g:terminal_ansi_colors = [
\ s:colors.folded.gui, s:colors.err1.gui, s:colors.string.gui,
\ s:colors.tag.gui, s:colors.number.gui, s:colors.const.gui,
\ s:colors.keyword.gui, s:colors.comment.gui,
\ s:colors.diffdel.gui, s:colors.err.gui, s:colors.todo.gui,
\ s:colors.warning.gui, s:colors.function.gui, s:colors.instruction.gui,
\ s:colors.type.gui, s:colors.commentref.gui
\ ]
endif
" === LANGUAGE SPECIFIC HIGHLIGHTS ====================================================
" --- Python (python/polyglot) ---
highlight! link pythonException Keyword
highlight! link pythonDecoratorName Tag
highlight! link pythonDecorator Tag
" --- Go (vim-go/polyglot) ---
highlight! link goPackage Tag
highlight! link goBuiltins Type
highlight! link goFunction Function
highlight! link goField JBStruct
" --- JSON (vim-json/polyglot) ---
highlight! link jsonKeyword Constant
highlight! link jsonBoolean Keyword
" --- Markdown ---
highlight! link markdownCode String
highlight! link markdownCodeBlock String
highlight! link markdownCodeDelimiter String
highlight! link markdownBlockQuote String
highlight! link markdownListMarker Keyword
highlight! link markdownOrderedListMarker Keyword
highlight! link markdownRule Comment
highlight! link markdownH1 Const
highlight! link markdownH2 Const
highlight! link markdownH3 Const
highlight! link markdownH4 Const
highlight! link markdownH5 Const
highlight! link markdownH6 Const
highlight! link markdownHeadingRule Const
highlight! link markdownUrl JBHyperlink
highlight! link markdownUrlDelimiter JBHyperlink
" --- Markdown (vim-markdown/polyglot) ---
highlight! link mkdCode String
highlight! link mkdSnippetSHELL String
highlight! link mkdURL JBHyperlink
highlight! link mkdHeading Const
" --- Javascript (vim-javascript/polyglot) ---
highlight! link jsDecorator Tag
highlight! link jsDecoratorFunction Tag
highlight! link jsxTagName Tag
highlight! link jsxAttrib Normal
" --- Rust (rust.vim/polyglot) ---
highlight! link rustTrait Text
highlight! link rustConstant Constant
highlight! link rustModPath Text
highlight! link rustEnum Text
highlight! link rustIdentifier Text
highlight! link rustAttribute Tag
highlight! link rustUnsafeKeyword Keyword
highlight! link rustStructure Keyword
highlight! link rustMacro Tag
highlight! link rustMacroRepeatDelimiters rustMacro
highlight! link rustMacroVariable Function
highlight! link rustLifetime JBStruct
highlight! link rustLabel JBStruct
highlight! link rustPanic Tag
highlight! link rustStorage Keyword
highlight! link rustCharacter String
highlight! link rustSelf Keyword
highlight! link rustAsmConstExpr Constant
highlight! link rustAsmConst Constant
highlight! link rustSigil Text
highlight! link rustCommentLineDoc JBDocComment
" --- Typescript (vim-typescript/polyglot) ---
highlight! link typescriptStorageClass Text
highlight! link typescriptEndColons Text
highlight! link typescriptMessage String
highlight! link typescriptGlobalObjects Constant
highlight! link typescriptBraces Text
highlight! link typescriptParens Text
" --- HTML ---
highlight! link htmlTag Tag
highlight! link htmlEndTag Tag
highlight! link htmlTagN Tag
highlight! link htmlTagName Tag
highlight! link htmlSpecialTagName Tag
highlight! link htmlArg Normal
highlight! link htmlScriptTag Tag
highlight! link htmlString String
" --- Vim ---
highlight! link vimLet Keyword
highlight! link vimFunction Function
highlight! link vimIsCommand Normal
highlight! link vimUserFunc Function
highlight! link vimFuncName Function
" --- Kotlin (kotlin-vim/polyglot) ---
highlight! link ktDocComment JBDocComment
highlight! link ktDocTag JBStringRef
highlight! link ktDocTagParam Text
highlight! link ktAnnotation Tag
highlight! link ktComplexInterpolationBrace Keyword
highlight! link ktLabel Number
highlight! link ktArrow Text
highlight! link ktType Text
highlight! link ktModifier Keyword
highlight! link ktStructure Keyword
highlight! link ktSimpleInterpolation Keyword
" === PLUGIN SPECIFIC HIGHLIGHTS (NON-LANGUAGE) ======================================================
" --- GitGutter ---
highlight! link GitGutterAdd JBGutterAddedLine
highlight! link GitGutterChange JBGutterChangedLine
highlight! link GitGutterDelete JBGutterDeletedLine
" --- Fugitive ---
highlight! link diffAdded DiffAdd
highlight! link diffRemoved DiffDelete
highlight! link gitDiff Comment
" --- FZF ---
let g:fzf_colors = {
\ 'fg': ['fg', 'Normal'],
\ 'hl': ['fg', 'Search'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Cursor'],
\ 'info': ['fg', 'Comment'],
\ 'gutter': ['bg', 'JBEditorBG'],
\ 'border': ['fg', 'VertSplit'],
\ 'prompt': ['fg', 'ModeMsg'],
\ 'pointer': ['fg', 'Function'],
\ 'marker': ['fg', 'Function'],
\ 'spinner': ['fg', 'Warning'],
\ 'header': ['fg', 'Const']
\ }
" --- MistFly ---
call s:h("MistflyNormal", { "fg": s:colors.editor, "bg": s:colors.commentref }) " Normal text
call s:h("MistflyCommand", { "fg": s:colors.editor, "bg": s:colors.warning }) " Command text
call s:h("MistflyInsert", { "fg": s:colors.editor, "bg": s:colors.function }) " Insert text
call s:h("MistflyVisual", { "fg": s:colors.editor, "bg": s:colors.keyword }) " Visual text
call s:h("MistflyReplace", { "fg": s:colors.editor, "bg": s:colors.err1 }) " Replace text
" --- Fern ---
highlight! link FernRootSymbol String
highlight! link FernRootText String
highlight! link FernBranchSymbol String
highlight! link FernBranchText ModeMsg
highlight! link FernLeafSymbol Function
highlight! link FernGitStatusIndex DiffAdd
highlight! link FernGitStatusWorktree DiffText
highlight! link FernGitStatusUntracked DiffAdd
" --- NERDTree ---
highlight! link NERDTreeDir ModeMsg
highlight! link NERDTreeDirSlash ModeMsg
highlight! link NERDTreeOpenable ModeMsg
highlight! link NERDTreeClosable ModeMsg
highlight! link NERDTreeFile Normal
highlight! link NERDTreeExecFile Normal
highlight! link NERDTreeUp String
highlight! link NERDTreeCWD Normal
highlight! link NERDTreeHelp Normal
" --- ALE (github.com/dense-analysis/ale) ---
highlight! link ALEError JBError
highlight! link ALEWarning JBWarning
highlight! link ALEInfo Underline
highlight! link ALEErrorSign JBError
highlight! link ALEWarningSign JBWarning
highlight! link ALEInfoSign Underline
" --- COC (github.com/neoclide/coc.nvim) ---
highlight! link CocErrorSign JBError
highlight! link CocWarningSign JBWarning
highlight! link CocInfoSign Underline
highlight! link CocHintSign Underline
highlight! link CocMarkdownCode String
highlight! link CocPumShortcut Cursor
highlight! link CocPumMenu Pmenu
highlight! link CocMenuSel PmenuSel
highlight! link CocInlayHint LineNr
highlight! link CocGitAddedSign JBGutterAddedLine
highlight! link CocGitChangeSign JBGutterChangedLine
highlight! link CocGitRemovedSign JBGutterDeletedLine
" === NEOVIM ====================================================================
if has('nvim')
highlight! link Statusline StatusLine
highlight! link WinBarNC JBTree
highlight! link DiagnosticFloatingError ErrorText
highlight! link DiagnosticFloatingWarn WarningText
highlight! link DiagnosticFloatingInfo InfoText
highlight! link DiagnosticFloatingHint DiffAdd
highlight! link DiagnosticError ErrorText
highlight! link DiagnosticWarn WarningText
highlight! link DiagnosticInfo InfoText
highlight! link DiagnosticHint DiffAdd
highlight! link DiagnosticVirtualTextError ErrorText
highlight! link DiagnosticVirtualTextWarn WarningText
highlight! link DiagnosticVirtualTextInfo InfoText
highlight! link DiagnosticVirtualTextHint DiffAdd
highlight! link DiagnosticUnderlineError ErrorText
highlight! link DiagnosticUnderlineWarn WarningText
highlight! link DiagnosticUnderlineInfo InfoText
highlight! link DiagnosticUnderlineHint HintText
highlight! link DiagnosticSignError ErrorText
highlight! link DiagnosticSignWarn WarningText
highlight! link DiagnosticSignInfo InfoText
highlight! link DiagnosticSignHint DiffAdd
highlight! link LspDiagnosticsFloatingError DiagnosticFloatingError
highlight! link LspDiagnosticsFloatingWarning DiagnosticFloatingWarn
highlight! link LspDiagnosticsFloatingInformation DiagnosticFloatingInfo
highlight! link LspDiagnosticsFloatingHint DiagnosticFloatingHint
highlight! link LspDiagnosticsDefaultError DiagnosticError
highlight! link LspDiagnosticsDefaultWarning DiagnosticWarn
highlight! link LspDiagnosticsDefaultInformation DiagnosticInfo
highlight! link LspDiagnosticsDefaultHint DiagnosticHint
highlight! link LspDiagnosticsVirtualTextError DiagnosticVirtualTextError
highlight! link LspDiagnosticsVirtualTextWarning DiagnosticVirtualTextWarn
highlight! link LspDiagnosticsVirtualTextInformation DiagnosticVirtualTextInfo
highlight! link LspDiagnosticsVirtualTextHint DiagnosticVirtualTextHint
highlight! link LspDiagnosticsUnderlineError DiagnosticUnderlineError
highlight! link LspDiagnosticsUnderlineWarning DiagnosticUnderlineWarn
highlight! link LspDiagnosticsUnderlineInformation DiagnosticUnderlineInfo
highlight! link LspDiagnosticsUnderlineHint DiagnosticUnderlineHint
highlight! link LspDiagnosticsSignError DiagnosticSignError
highlight! link LspDiagnosticsSignWarning DiagnosticSignWarn
highlight! link LspDiagnosticsSignInformation DiagnosticSignInfo
highlight! link LspDiagnosticsSignHint DiagnosticSignHint
highlight! link LspReferenceText DiffAdd
highlight! link LspReferenceRead DiffAdd
highlight! link LspReferenceWrite DiffAdd
highlight! link LspCodeLens InfoText
highlight! link LspCodeLensSeparator DiffAdd
highlight! link LspSignatureActiveParameter Search
highlight! link TermCursor Cursor
highlight! link healthError ErrorText
highlight! link healthSuccess DiffAdd
highlight! link healthWarning WarningText
endif
" === FOOTER ============================================================================
" Must appear at the end of the file to work around this oddity:
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark