Mercurial > vim
annotate runtime/colors/README.txt @ 19126:42a1601c16d4
Added tag v8.2.0122 for changeset 286aa7c0c9abd2e7be4ae8404dd7e9656a67212f
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 16 Jan 2020 19:45:04 +0100 |
parents | e751b5c9dff3 |
children | 17c4178f26ea |
rev | line source |
---|---|
7 | 1 README.txt for color scheme files |
2 | |
3 These files are used for the ":colorscheme" command. They appear in the | |
4 Edit/Color Scheme menu in the GUI. | |
5 | |
6 | |
7 Hints for writing a color scheme file: | |
8 | |
9 There are two basic ways to define a color scheme: | |
10 | |
11 1. Define a new Normal color and set the 'background' option accordingly. | |
12 set background={light or dark} | |
13 highlight clear | |
14 highlight Normal ... | |
15 ... | |
16 | |
17 2. Use the default Normal color and automatically adjust to the value of | |
18 'background'. | |
19 highlight clear Normal | |
20 set background& | |
21 highlight clear | |
22 if &background == "light" | |
23 highlight Error ... | |
24 ... | |
25 else | |
26 highlight Error ... | |
27 ... | |
28 endif | |
29 | |
30 You can use ":highlight clear" to reset everything to the defaults, and then | |
31 change the groups that you want differently. This also will work for groups | |
32 that are added in later versions of Vim. | |
33 Note that ":highlight clear" uses the value of 'background', thus set it | |
34 before this command. | |
35 Some attributes (e.g., bold) might be set in the defaults that you want | |
36 removed in your color scheme. Use something like "gui=NONE" to remove the | |
37 attributes. | |
38 | |
5555 | 39 In case you want to set 'background' depending on the colorscheme selected, |
40 this autocmd might be useful: | |
41 autocmd SourcePre */colors/blue_sky.vim set background=dark | |
42 Replace "blue_sky" with the name of the colorscheme. | |
43 | |
10319
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
44 In case you want to tweak a colorscheme after it was loaded, check out the |
13810
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
45 ColorScheme autocommand event. |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
46 |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
47 To clean up just before loading another colorscheme, use the ColorSchemePre |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
48 autocommand event. For example: |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
49 let g:term_ansi_colors = ... |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
50 augroup MyColorscheme |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
51 au! |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
52 au ColorSchemePre * unlet g:term_ansi_colors |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
53 au ColorSchemePre * au! MyColorscheme |
cad480bac9e1
patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents:
13049
diff
changeset
|
54 augroup END |
5555 | 55 |
10319
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
56 To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim", |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
57 and use `:runtime` to load the original colorscheme: |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
58 " load the "evening" colorscheme |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
59 runtime colors/evening.vim |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
60 " change the color of statements |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
61 hi Statement ctermfg=Blue guifg=Blue |
169a62d5bcb9
commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59
Christian Brabandt <cb@256bit.org>
parents:
5555
diff
changeset
|
62 |
7 | 63 To see which highlight group is used where, find the help for |
64 "highlight-groups" and "group-name". | |
65 | |
66 You can use ":highlight" to find out the current colors. Exception: the | |
67 ctermfg and ctermbg values are numbers, which are only valid for the current | |
68 terminal. Use the color names instead. See ":help cterm-colors". | |
69 | |
70 The default color settings can be found in the source file src/syntax.c. | |
71 Search for "highlight_init". | |
72 | |
73 If you think you have a color scheme that is good enough to be used by others, | |
74 please check the following items: | |
75 | |
13857 | 76 - Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for |
77 common mistakes. | |
7 | 78 - Does it work in a color terminal as well as in the GUI? |
1622 | 79 - Is "g:colors_name" set to a meaningful value? In case of doubt you can do |
80 it this way: | |
81 let g:colors_name = expand('<sfile>:t:r') | |
7 | 82 - Is 'background' either used or appropriately set to "light" or "dark"? |
83 - Try setting 'hlsearch' and searching for a pattern, is the match easy to | |
84 spot? | |
85 - Split a window with ":split" and ":vsplit". Are the status lines and | |
86 vertical separators clearly visible? | |
87 - In the GUI, is it easy to find the cursor, also in a file with lots of | |
88 syntax highlighting? | |
89 - Do not use hard coded escape sequences, these will not work in other | |
90 terminals. Always use color names or #RRGGBB for the GUI. |