]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - vim/vim/colors/simon.vim
870c43b490289fdb028abcee5768a7c9bed01aac
[config/dotfiles.git] / vim / vim / colors / simon.vim
1 " Vim color scheme.
2 "
3 " Designed for dark and partially transparent terminals with 256 colors. It
4 " works with GVim - however by default GVim doesn't support transparent
5 " backgrounds, thus black is used as background color.
6 "
7 " Tested with xterm and (u)rxvt (both with -256color) and GVim.
8 "
9 " Not all available highlight groups are used at the moment.
10 "
11 " Some new highlight groups are defined which can be used in syntax files, see
12 " "GENERAL ADDITIONS" below. They have to be configured to work.
13 "
14 " Maintainer:  Simon Ruderich <simon@ruderich.org>
15 " Last Change: 2014-10-24
16 " License:     GPL v3+
17
18 " Copyright (C) 2011-2014  Simon Ruderich
19 "
20 " This file is free software: you can redistribute it and/or modify
21 " it under the terms of the GNU General Public License as published by
22 " the Free Software Foundation, either version 3 of the License, or
23 " (at your option) any later version.
24 "
25 " This file is distributed in the hope that it will be useful,
26 " but WITHOUT ANY WARRANTY; without even the implied warranty of
27 " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28 " GNU General Public License for more details.
29 "
30 " You should have received a copy of the GNU General Public License
31 " along with this file.  If not, see <http://www.gnu.org/licenses/>.
32
33
34 " This color scheme only works with 256 colors and in GVim.
35 if &t_Co != 256 && !has('gui_running')
36     echoerr 'Colorscheme "simon" needs 256 colors. Aborting.'
37     finish
38 endif
39
40
41 " This color scheme is (only) designed for a dark background.
42 set background=dark
43 highlight clear
44
45 " :highlight clear resets this variable, so put it after it.
46 let g:colors_name = 'simon'
47
48
49 " GENERAL HIGHLIGHT SETTINGS
50
51 " Normal text (very light gray on default terminal background). ctermbg=NONE
52 " necessary for transparency. GVim doesn't support a transparent background,
53 " thus use black.
54 highlight Normal             ctermfg=252 ctermbg=NONE                           guifg=#d0d0d0 guibg=#000000
55
56 " Comments (violet on default).
57 highlight Comment            ctermfg=135                                        guifg=#af5fff
58 " Constants (light dark red on default).
59 highlight Constant           ctermfg=160                                        guifg=#d70000
60     " Strings, e.g. ".." (dark orange on default).
61     highlight String         ctermfg=208                                        guifg=#ff8700
62     " Characters, e.g. '.' in C (lighter dark orange on default).
63     highlight Character      ctermfg=215                                        guifg=#ffaf5f
64     " Numbers (light magenta on default).
65     highlight Number         ctermfg=207                                        guifg=#ff5fff
66     " Booleans (light dark red on default).
67     highlight Boolean        ctermfg=160                                        guifg=#d70000
68     highlight Float          ctermfg=207                                        guifg=#ff5fff
69 " Identifier (cyan on default). cterm=NONE to prevent bold.
70 highlight Identifier         ctermfg=51              cterm=NONE                 guifg=#00ffff               gui=NONE
71     " Function names, often used for predefined functions (cyan on default).
72     highlight Function       ctermfg=51              cterm=NONE                 guifg=#00ffff               gui=NONE
73 " Statements, e.g. return, continue, etc. (yellow on default).
74 highlight Statement          ctermfg=227             cterm=bold                 guifg=#ffff5f               gui=bold
75 " Preprocessor commands, e.g. #include in cpp (light blue on default).
76 highlight PreProc            ctermfg=63              cterm=bold                 guifg=#5f5fff               gui=bold
77 " Types of variables, e.g. int, long, etc. (light green on default).
78 highlight Type               ctermfg=83              cterm=bold                 guifg=#5fff5f               gui=bold
79     " static, volatile, etc. (lighter green on default).
80     highlight StorageClass   ctermfg=120             cterm=bold                 guifg=#87ff87               gui=bold
81 " Special characters (red on default).
82 highlight Special            ctermfg=160                                        guifg=#d70000
83     " Special characters in a string, e.g. '\n' (red on default).
84     highlight SpecialChar    ctermfg=160                                        guifg=#d70000
85     " Delimiter characters, e.g. braces around function arguments in some
86     " languages (dark red on default).
87     highlight Delimiter      ctermfg=52                                         guifg=#5f0000
88     " Special items inside a comment (light violent on darker violet).
89     highlight SpecialComment ctermfg=135 ctermbg=93                             guifg=#af5fff guibg=#8700ff
90 " (Syntax) Errors (white on red).
91 highlight Error              ctermfg=231 ctermbg=196                            guifg=#ffffff guibg=#ff0000
92 " Todo items and other important stuff (e.g. TODO, XXX, etc.) (black on
93 " yellow).
94 highlight Todo               ctermfg=16  ctermbg=226                            guifg=#000000 guibg=#ffff00
95
96
97 " Additional highlights used by the "GUI", not directly by syntax
98 " highlighting.
99
100 " Columns set with 'colorcolumn' (default on bright violet).
101 highlight ColorColumn                    ctermbg=57                                           guibg=#5f00ff
102 " Cursor color (black on light yellow).
103 highlight Cursor             ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
104 " Cursor color when IME or XIM is on, :h CursorIM (not used, keep in sync with
105 " Cursor).
106 highlight CursorIM           ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
107 " Current cursor column/line (current color on dark gray). cterm=NONE to
108 " prevent underlining.
109 highlight CursorColumn                   ctermbg=234 cterm=NONE                 guibg=#1c1c1c               gui=NONE
110 highlight CursorLine                     ctermbg=234 cterm=NONE                 guibg=#1c1c1c               gui=NONE
111 " Directories in file listings (blue on default).
112 highlight Directory          ctermfg=27              cterm=bold                 guifg=#005fff               gui=bold
113 " Error messages (white on red).
114 highlight ErrorMsg           ctermfg=231 ctermbg=196                            guifg=#ffffff guibg=#ff0000
115 " Fold column, left of number column (lighter yellow on default), ctermbg=NONE
116 " necessary for transparency.
117 highlight FoldColumn         ctermfg=228 ctermbg=NONE                           guifg=#ffff87 guibg=NONE
118 " Current search match during incremental search (black on orange).
119 highlight IncSearch          ctermfg=16  ctermbg=214                            guifg=#000000 guibg=#ffaf00
120 " Line number in line number column (light yellow on default).
121 highlight LineNr             ctermfg=227                                        guifg=#ffff5f
122 " Matching brace/bracket when the cursor is currently on the other one
123 " (default on light green).
124 highlight MatchParen                     ctermbg=40                                           guibg=#00d700
125 " 'showmode' message, e.g. "-- INSERT --" (light gray on default).
126 highlight ModeMsg            ctermfg=247                                        guifg=#9e9e9e
127 " More prompt (:h more-prompt) (light green on default).
128 highlight MoreMsg            ctermfg=119                                        guifg=#87ff5f
129 " Characters which do not really exist in the text (:h NonText) (gray-like
130 " blue on default).
131 highlight NonText            ctermfg=105                                        guifg=#8787ff
132 " Last search pattern for 'hlsearch' (keep in sync with IncSearch).
133 highlight Search             ctermfg=16  ctermbg=214                            guifg=#000000 guibg=#ffaf00
134 " Special characters, e.g. tabs, control characters (e.g. ^K), etc. (light
135 " blue on default).
136 highlight SpecialKey         ctermfg=69                                         guifg=#5f87ff
137 " Spelling mistake (default on light violet).
138 highlight SpellBad                       ctermbg=127                                          guibg=#af00af
139 " Wrong capitalization (default on light blue).
140 highlight SpellCap                       ctermbg=27                                           guibg=#005fff
141 " Status line of the currently active window (bold and reverse).
142 highlight StatusLine                                 cterm=reverse,bold                                     gui=reverse,bold
143 " Status line of inactive windows (reverse).
144 highlight StatusLineNC                               cterm=reverse                                          gui=reverse
145 " Tab pages line, parts with no labels on the right (default, cterm=NONE to
146 " disable reverse).
147 highlight TabLineFill                                cterm=NONE                                             gui=NONE
148 " Titles in output from :set all, :autocmd, etc. (light blue on default). Also
149 " used by AsciiDoc.
150 highlight Title              ctermfg=63              cterm=bold                 guifg=#5f5fff               gui=bold
151 " Vertical split column (black on default), black to try to hide it
152 " (ctermfg=NONE doesn't work), cterm=NONE is necessary to remove reverse. Also
153 " see my vimrc for a way to hide it completely (the column is still there, but
154 " empty).
155 highlight VertSplit          ctermfg=16              cterm=NONE                 guifg=#000000               gui=NONE
156 " Current visual selection (default on light gray).
157 highlight Visual                         ctermbg=246                                          guibg=#949494
158 " Warning messages (white on orange).
159 highlight WarningMsg         ctermfg=231 ctermbg=166                            guifg=#ffffff guibg=#d75f00
160
161 " Cursor color when language mappings are used, :h lCursor (not used, keep in
162 " sync with Cursor).
163 highlight lCursor            ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
164
165
166 " GENERAL ADDITIONS
167
168 " Tab characters (if 'list' is enabled) to reduce their visibility in
169 " comparison with SpecialKey (darker gray on default).
170 "
171 " Needs matchadd('specialKeyTab', '\t') in vimrc.
172 highlight specialKeyTab      ctermfg=239                                        guifg=#4e4e4e
173
174 " Statement control keywords (e.g. continue, break, return, goto, etc.), extra
175 " syntax item to make them extra visible (keep in sync with Statement, except
176 " underline).
177 "
178 " Needs a modified syntax file or additional rules in after/syntax/.
179 "
180 " For example for C:
181 "
182 "    syntax keyword statementControl continue break return goto
183 "
184 " Or for Perl:
185 "
186 "    highlight link perlStatementControl statementControl
187 highlight statementControl   ctermfg=227             cterm=bold,underline       guifg=#ffff5f               gui=bold,underline