+43
README.md
+43
README.md
···
1
+
# vim-colors-off
2
+
3
+
*This is very much a work in progress*
4
+
5
+
For a number of weeks, I ran vim with `syntax off`. It was quite nice,
6
+
with only two annoyances:
7
+
8
+
- Bright white on jet black was a bit off-putting.
9
+
- There were cases when I did miss the lack of color, vimdiff for
10
+
example.
11
+
12
+
Therefore, I aimed to find or create a colorscheme to solve these two
13
+
issues.
14
+
15
+
The result is very much based on the [pencil][] colorscheme, which is
16
+
surprising because it's a very colorful colorscheme, but:
17
+
18
+
- It uses a very sane approach to defining and setting colors
19
+
- It has nice background and foreground colors
20
+
- In the areas where I do want color, I like how it colors things
21
+
22
+
[pencil]: https://github.com/reedes/vim-colors-pencil
23
+
24
+
![Screenshot][screenshot.png]
25
+
26
+
Not super exciting...
27
+
28
+
## Installation
29
+
30
+
- Use [Vundle][]
31
+
- Add "pbrisbin/vim-colors-off" as a plugin
32
+
33
+
[vundle]: https://github.com/gmarik/Vundle.vim
34
+
35
+
## Usage
36
+
37
+
```
38
+
:colorscheme off
39
+
```
40
+
41
+
Supports both `background=light` and `background=dark`. I use dark, so
42
+
that will always be the more tested.
43
+
+192
colors/off.vim
+192
colors/off.vim
···
1
+
" Name: off.vim
2
+
" Version: 0.1
3
+
" Maintainer: github.com/pbrisbin
4
+
" License: The MIT License (MIT)
5
+
"
6
+
" A colorscheme meant to look like a more pleasant version of syntax off.
7
+
" Structure and what little color there is is taken from pencil.vim
8
+
"
9
+
" https://github.com/reedes/vim-colors-pencil
10
+
"
11
+
"""
12
+
hi clear
13
+
14
+
if exists('syntax on')
15
+
syntax reset
16
+
endif
17
+
18
+
let g:colors_name='off'
19
+
20
+
let s:black = { "gui": "#212121", "cterm": "0" }
21
+
let s:medium_gray = { "gui": "#767676", "cterm": "243" }
22
+
let s:white = { "gui": "#F1F1F1", "cterm": "15" }
23
+
let s:actual_white = { "gui": "#FFFFFF", "cterm": "231" }
24
+
let s:light_black = { "gui": "#424242", "cterm": "8" }
25
+
let s:lighter_black = { "gui": "#545454", "cterm": "240" }
26
+
let s:subtle_black = { "gui": "#303030", "cterm": "236" }
27
+
let s:light_gray = { "gui": "#B2B2B2", "cterm": "249" }
28
+
let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251" }
29
+
let s:pink = { "gui": "#fb007a", "cterm": "9" }
30
+
let s:dark_red = { "gui": "#C30771", "cterm": "1" }
31
+
let s:light_red = { "gui": "#E32791", "cterm": "1" }
32
+
let s:orange = { "gui": "#D75F5F", "cterm": "167" }
33
+
let s:darker_blue = { "gui": "#005F87", "cterm": "18" }
34
+
let s:dark_blue = { "gui": "#008EC4", "cterm": "4" }
35
+
let s:blue = { "gui": "#20BBFC", "cterm": "12" }
36
+
let s:light_blue = { "gui": "#b6d6fd", "cterm": "153" }
37
+
let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" }
38
+
let s:light_cyan = { "gui": "#4FB8CC", "cterm": "14" }
39
+
let s:dark_green = { "gui": "#10A778", "cterm": "2" }
40
+
let s:light_green = { "gui": "#5FD7A7", "cterm": "10" }
41
+
let s:dark_purple = { "gui": "#523C79", "cterm": "5" }
42
+
let s:light_purple = { "gui": "#6855DE", "cterm": "13" }
43
+
let s:yellow = { "gui": "#F3E430", "cterm": "11" }
44
+
let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" }
45
+
46
+
if &background == "dark"
47
+
let s:bg = s:black
48
+
let s:bg_subtle = s:light_black
49
+
let s:bg_very_subtle = s:subtle_black
50
+
let s:norm = s:lighter_gray
51
+
let s:norm_subtle = s:light_gray
52
+
let s:purple = s:light_purple
53
+
let s:cyan = s:light_cyan
54
+
let s:green = s:light_green
55
+
let s:red = s:light_red
56
+
let s:visual = s:lighter_black
57
+
else
58
+
let s:bg = s:white
59
+
let s:bg_subtle = s:light_gray
60
+
let s:bg_very_subtle = s:lighter_gray
61
+
let s:norm = s:light_black
62
+
let s:norm_subtle = s:lighter_black
63
+
let s:purple = s:dark_purple
64
+
let s:cyan = s:dark_cyan
65
+
let s:green = s:dark_green
66
+
let s:red = s:dark_red
67
+
let s:visual = s:light_blue
68
+
endif
69
+
70
+
" https://github.com/noahfrederick/vim-hemisu/
71
+
function! s:h(group, style)
72
+
execute "highlight" a:group
73
+
\ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE")
74
+
\ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE")
75
+
\ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE")
76
+
\ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE")
77
+
\ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE")
78
+
\ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE")
79
+
\ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE")
80
+
endfunction
81
+
82
+
call s:h("Normal", {"bg": s:bg, "fg": s:norm})
83
+
call s:h("Cursor", {"bg": s:blue, "fg": s:norm })
84
+
call s:h("Comment", {"fg": s:medium_gray, "gui": "italic"})
85
+
86
+
"call s:h("Constant", {"fg": s:cyan})
87
+
hi! link Constant Normal
88
+
hi! link String Constant
89
+
hi! link Character Constant
90
+
hi! link Number Constant
91
+
hi! link Boolean Constant
92
+
hi! link Float Constant
93
+
94
+
"call s:h("Identifier", {"fg": s:dark_blue})
95
+
hi! link Identifier Normal
96
+
hi! link Function Identifier
97
+
98
+
"call s:h("Statement", {"fg": s:green})
99
+
hi! link Statement Normal
100
+
hi! link Conditonal Statement
101
+
hi! link Repeat Statement
102
+
hi! link Label Statement
103
+
hi! link Operator Statement
104
+
hi! link Keyword Statement
105
+
hi! link Exception Statement
106
+
107
+
"call s:h("PreProc", {"fg": s:red})
108
+
hi! link PreProc Normal
109
+
hi! link Include PreProc
110
+
hi! link Define PreProc
111
+
hi! link Macro PreProc
112
+
hi! link PreCondit PreProc
113
+
114
+
"call s:h("Type", {"fg": s:purple})
115
+
hi! link Type Normal
116
+
hi! link StorageClass Type
117
+
hi! link Structure Type
118
+
hi! link Typedef Type
119
+
120
+
"call s:h("Special", {"fg": s:pink})
121
+
hi! link Special Normal
122
+
hi! link SpecialChar Special
123
+
hi! link Tag Special
124
+
hi! link Delimiter Special
125
+
hi! link SpecialComment Special
126
+
hi! link Debug Special
127
+
128
+
call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"})
129
+
call s:h("Ignore", {"fg": s:bg})
130
+
call s:h("Error", {"fg": s:actual_white, "bg": s:red, "cterm": "bold"})
131
+
call s:h("Todo", {"fg": s:actual_white, "bg": s:pink, "gui": "bold", "cterm": "bold"})
132
+
call s:h("SpecialKey", {"fg": s:light_green})
133
+
call s:h("NonText", {"fg": s:medium_gray})
134
+
call s:h("Directory", {"fg": s:dark_blue})
135
+
call s:h("ErrorMsg", {"fg": s:pink})
136
+
call s:h("IncSearch", {"bg": s:yellow, "fg": s:light_black})
137
+
call s:h("Search", {"bg": s:bg_subtle})
138
+
call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"})
139
+
hi! link ModeMsg MoreMsg
140
+
call s:h("LineNr", {"fg": s:bg_subtle})
141
+
call s:h("CursorLineNr", {"fg": s:blue, "bg": s:bg_very_subtle})
142
+
call s:h("Question", {"fg": s:red})
143
+
call s:h("StatusLine", {"bg": s:bg_very_subtle})
144
+
call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray})
145
+
call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle})
146
+
call s:h("Title", {"fg": s:dark_blue})
147
+
call s:h("Visual", {"bg": s:visual})
148
+
call s:h("VisualNOS", {"bg": s:bg_subtle})
149
+
call s:h("WarningMsg", {"fg": s:red})
150
+
call s:h("WildMenu", {"fg": s:bg, "bg": s:norm})
151
+
call s:h("Folded", {"fg": s:medium_gray})
152
+
call s:h("FoldColumn", {"fg": s:bg_subtle})
153
+
call s:h("DiffAdd", {"fg": s:green})
154
+
call s:h("DiffDelete", {"fg": s:red})
155
+
call s:h("DiffChange", {"fg": s:dark_yellow})
156
+
call s:h("DiffText", {"fg": s:dark_blue})
157
+
call s:h("SignColumn", {"fg": s:light_green})
158
+
159
+
if has("gui_running")
160
+
call s:h("SpellBad", {"gui": "underline", "sp": s:red})
161
+
call s:h("SpellCap", {"gui": "underline", "sp": s:light_green})
162
+
call s:h("SpellRare", {"gui": "underline", "sp": s:pink})
163
+
call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green})
164
+
else
165
+
call s:h("SpellBad", {"cterm": "underline", "fg": s:red})
166
+
call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green})
167
+
call s:h("SpellRare", {"cterm": "underline", "fg": s:pink})
168
+
call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green})
169
+
endif
170
+
171
+
call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle})
172
+
call s:h("PmenuSel", {"fg": s:norm, "bg": s:blue})
173
+
call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle})
174
+
call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle})
175
+
call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle})
176
+
call s:h("TabLineSel", {"fg": s:blue, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"})
177
+
call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle})
178
+
call s:h("CursorColumn", {"bg": s:bg_very_subtle})
179
+
call s:h("CursorLine", {"bg": s:bg_very_subtle})
180
+
call s:h("ColorColumn", {"bg": s:bg_subtle})
181
+
182
+
call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm})
183
+
call s:h("qfLineNr", {"fg": s:medium_gray})
184
+
185
+
" Signify, git-gutter
186
+
hi link SignifySignAdd LineNr
187
+
hi link SignifySignDelete LineNr
188
+
hi link SignifySignChange LineNr
189
+
hi link GitGutterAdd LineNr
190
+
hi link GitGutterDelete LineNr
191
+
hi link GitGutterChange LineNr
192
+
hi link GitGutterChangeDelete LineNr
screenshot.png
screenshot.png
This is a binary file and will not be displayed.