diff options
author | Ethan Schoonover <es@ethanschoonover.com> | 2011-03-23 13:23:03 -0700 |
---|---|---|
committer | Ethan Schoonover <es@ethanschoonover.com> | 2011-03-23 13:23:03 -0700 |
commit | 6666646c69542e4759a7dd7e2b22b86287027614 (patch) | |
tree | 861d6eecf0999bf7230ad7827ece6075796416dc /colors | |
parent | 8fc4f78449be3c0d2836c59d536efc002ff25704 (diff) | |
download | vim-colors-solarized-6666646c69542e4759a7dd7e2b22b86287027614.tar.gz |
[vim] solarized install README updated
Diffstat (limited to 'colors')
-rw-r--r-- | colors/solarized.vim | 379 |
1 files changed, 204 insertions, 175 deletions
diff --git a/colors/solarized.vim b/colors/solarized.vim index 068f81d..ca2adea 100644 --- a/colors/solarized.vim +++ b/colors/solarized.vim @@ -5,114 +5,113 @@ " License: OSI approved MIT license (see end of this file) " " Usage "{{{ +" " --------------------------------------------------------------------- -" QUICKSTART: +" ABOUT: " --------------------------------------------------------------------- -" Put the following two lines in your vimrc: -" -" set background=dark -" colorscheme solarized -" -" or, for the light background mode of Solarized: -" -" set background=light -" colorscheme solarized -" -" pathogen users can install to: -" -" (your vim directory)/bundle/vim-solarized/colors/solarized.vim -" -" (note that vim-solarized could be just solarized, it's up to you, but -" if you pull from git you'll get this directory name unless you change it) -" -" Other options are detailed below. -" -" IMPORTANT NOTE FOR TERMINAL USERS: -" If you are running vim in a terminal, Solarized will run in 256 color mode if -" the terminal supports it, but those 256 colors are (in all 256 color terminal -" emulators) limited to a "degraded" color palette. While the colors will all -" approximate the specific Solarized color values, if you prefer an accurate -" color palette you can set the ANSI colors in your terminal and use the 16 -" color terminal mode using the g:solarized_termcolors="16" option detailed -" below. The ANSI color map is specified in the table below and terminal color -" themes are available for download from the web page listed at the top of this -" file, including xorg Xdefaults/Xresources color values and themes for OS -" X Terminal.app and iTerm 2. +" Solarized is a carefully designed selective contrast colorscheme with dual +" light and dark modes that runs in both GUI, 256 and 16 color modes. " +" See the homepage above for screenshots and details. " " --------------------------------------------------------------------- -" ABOUT +" INSTALLATION: " --------------------------------------------------------------------- " -" SOLARIZED is a precisely designed color scheme with unique characteristics: -" -" PRECISION: Solarized is comprised of eight base monotone colors complemented -" by eight accent colors. The monotone colors are specified in L*a*b* -" colorspace for perceptually uniform contrast, even when the palette is -" inverted from dark to light background mode. Accent colors are selected based -" on specific color-wheel relationships to the base monotone series -" (complement, triad, tetrad, split-complement, etc). +" Two options for installation: manual or pathogen +" +" MANUAL INSTALLATION OPTION: +" --------------------------------------------------------------------- +" +" 1. Put the files in the right place! +" 2. Move `solarized.vim` to your `.vim/colors` directory. +" +" RECOMMENDED PATHOGEN INSTALLATION OPTION: +" --------------------------------------------------------------------- +" +" 1. Download and install Tim Pope's Pathogen from: +" https://github.com/tpope/vim-pathogen " -" INVERSION: Solarized can easily switch from light to dark background mode and -" yet maintains L* (lightness) relationships in the entire base monotone -" palette set. Accent colors retain excellent readability on both light and -" dark backgrounds. Thus the vim solarized colorscheme, for example, can be -" easily modified and extended without any effort spent on maintaining the -" light/dark modes separately; the mode switch is the simple inversion of four -" color values. +" 2. Next, move or clone the `vim-colors-solarized` directory so that it is +" a subdirectory of the `.vim/bundle` directory. " -" READABILITY: Solarized has been designed as a "selective contrast" -" colorscheme (versus the more common high or low contrast schemes). Elements -" which are secondary in importance, or which should minimize their visual -" intrusiveness (e.g. line numbers and comments in vim) use the lower contrast -" base color values, while high value content (e.g. code) uses higher contrast -" base values as well as accent colors. +" a. **clone with git:** " -" SCALABILITY: Solarized has been designed to be used both in the full palette -" mode (in text editors where many colors are useful for syntax highlighting) -" as well as in a scaled down five color mode for graphic design purposes (web -" pages). +" $ cd ~/.vim/bundle +" $ git clone git://github.com/altercation/vim-colors-solarized.git " -" PERSONALITY: Solarized aims to be flexible in many contexts and as such it -" maintains the common primary and secondary named colors (red, blue, yellow, -" green, etc.). Despite the common nature of these hues, each color has been -" carefully tuned in terms of saturation, luminosity (more accurately, L* -" lightness) so that the entire palette has a rich, warm feel in the accent -" range as evidenced by the ochre yellow and oxygenated blood red, -" complementing the deep-sea blue-greens of the base monotone colors. +" b. **or move manually into the pathogen bundle directory:** +" In the parent directory of vim-colors-solarized: +" +" $ mv vim-colors-solarized ~/.vim/bundle/ +" +" MODIFY VIMRC: +" +" After either Option 1 or Option 2 above, put the following two lines in your +" .vimrc: +" +" set background=dark +" colorscheme solarized +" +" or, for the light background mode of Solarized: +" +" set background=light +" colorscheme solarized +" +" I like to have a different background in GUI and terminal modes, so I can use +" the following if-then. However, I find vim's background autodetection to be +" pretty good and, at least with MacVim, I can leave this background value +" assignment out entirely and get the same results. +" +" if has('gui_running') +" set background=light +" else +" set background=dark +" endif +" +" See the Solarized homepage at http://ethanschoonover.com/solarized for +" screenshots which will help you select either the light or dark background. " -" On the name: "Solarized" refers to the dual light/dark mode of the palette, -" somewhat analogous to the photographic effect of solarization. The Ian Brown -" album "Solarized" is also on regular rotation in my playlist. +" Other options are detailed below. " +" IMPORTANT NOTE FOR TERMINAL USERS: " +" If you are going to use Solarized in Terminal mode (i.e. not in a GUI +" version like gvim or macvim), **please please please** consider setting your +" terminal emulator's colorscheme to used the Solarized palette. I've included +" palettes for some popular terminal emulator as well as Xdefaults in the +" official Solarized download available from: +" +" http://ethanschoonover.com/solarized +" +" If you use Solarized without these colors, Solarized will by default use an +" approximate set of 256 colors. It isn't bad looking and has been extensively +" tweaked, but it's still not quite the real thing. +" +" If you do use the custom terminal colors, simply add the following line +" *before* the `colorschem solarized` line: +" +" let g:solarized_termcolors=16 +" " --------------------------------------------------------------------- -" COLOR VALUES +" TOGGLE BACKGROUND FUNCTION " --------------------------------------------------------------------- +" Here's a quick script that toggles the background color, using F5 in this +" example. You can drop this into .vimrc: " -" Download palettes and files from: http://ethanschoonover.com/solarized -" let s:g_back = "#002b36" " 12 12 - let s:g_base03 = "#" - let s:g_base02 = "#" - -" SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB -" --------- ------- ---- ------- ----------- ---------- ----------- ----------- -" base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 -" base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 -" base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 -" base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 -" base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 -" base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 -" base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 -" base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 -" yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 -" orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 -" red #d30102 1/1 red 124 #af0000 45 70 60 211 1 2 0 99 83 -" magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 -" violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 -" blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 -" cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 -" green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 +" function! ToggleBackground() +" if (w:solarized_style=="dark") +" let w:solarized_style="light" +" colorscheme solarized +" else +" let w:solarized_style="dark" +" colorscheme solarized +" endif +" endfunction +" command! Togbg call ToggleBackground() +" nnoremap <F5> :call ToggleBackground()<CR> +" inoremap <F5> <ESC>:call ToggleBackground()<CR>a +" vnoremap <F5> <ESC>:call ToggleBackground()<CR> " " --------------------------------------------------------------------- " OPTIONS @@ -122,83 +121,50 @@ " " option name default optional " ------------------------------------------------ -" g:solarized_style = "dark" | "light" -" g:solarized_contrast = "normal"| "high" or "low" +" g:solarized_termcolors= 256 | 16 " g:solarized_termtrans = 0 | 1 -" g:solarized_termcolors= 16 | 256 " g:solarized_degrade = 0 | 1 " g:solarized_bold = 1 | 0 " g:solarized_underline = 1 | 0 -" g:solarized_italic = 0 | 1 -" ------------------------------------------------ -" -" OPTION DETAILS -" -" ------------------------------------------------ +" g:solarized_italic = 1 | 0 " g:solarized_style = "dark" | "light" +" g:solarized_contrast = "normal"| "high" or "low" " ------------------------------------------------ -" If "solarized_style" isn't set, Solarized will use the value set by -" "background" in your vimrc. I recommend using "background" for simplicity. -" Thus in your vimrc file, the following sequences would set Solarized to -" either dark or light mode, respectively: -" -" set background=dark -" colorscheme solarized -" -" set background=light -" colorscheme solarized " -" The above is equivalent to: -" -" let g:solarized_style = "dark" -" colorscheme solarized -" -" let g:solarized_style = "light" -" colorscheme solarized -" -" Note that, if set, g:solarized_style overrides the setting for "background". +" OPTION DETAILS " " ------------------------------------------------ -" g:solarized_contrast = "normal"| "high" +" g:solarized_termcolors= 256 | 16 " ------------------------------------------------ -" Solarized has been designed to keep contrast of less critical elements low -" (e.g. comments are lower contrast). Solarized has also been tested on devices -" with a wide variety of gamma values and should perform well on most displays. -" If you find you want to increase contrast for the low contrast items -" (comments, etc.) you can set this value to "high" (default is "normal"). -" I encourage you to use it in normal mode first. There is, additionally, -" a "low" contrast mode, shifting the background tone towards the main content -" tones. +" The most important option if you are using vim in terminal (non gui) mode! +" This tells Solarized to use the 256 degraded color mode if running in a 256 +" color capable terminal. Otherwise, if set to `16` it will use the terminal +" emulators colorscheme (best option as long as you've set the emulators colors +" to the Solarized palette). +" +" If you are going to use Solarized in Terminal mode (i.e. not in a GUI +" version like gvim or macvim), **please please please** consider setting your +" terminal emulator's colorscheme to used the Solarized palette. I've included +" palettes for some popular terminal emulator as well as Xdefaults in the +" official Solarized download available from: +" http://ethanschoonover.com/solarized . If you use Solarized without these +" colors, Solarized will by default use an approximate set of 256 colors. It +" isn't bad looking and has been extensively tweaked, but it's still not quite +" the real thing. " " ------------------------------------------------ " g:solarized_termtrans = 0 | 1 " ------------------------------------------------ -" On some terminals (urxvt in my tests) Vim colorthemes may override -" transparency settings of the terminal. Setting this to "1" changes the -" background value in terminal Vim mode to "NONE" allowing your terminal -" background color/transparency to be used for Vim's background. This shouldn't -" be necessary in OSX terminal applications such as Terminal and iTerm2. -" -" ------------------------------------------------ -" g:solarized_termcolors= 16 | 256 -" ------------------------------------------------ -" A very important setting if you are using Vim in terminals and want accurate -" colors. There are two options: -" 16 - Use the named 16 colors of the terminal (red, blue, etc.). In order for -" the colors to be accurately reproduced for this colorscheme, you must set -" your terminal's 16 colors to match Solarized. I list the terminal color -" values in a table above, and also provide downloads of colorscheme for -" command terminal applications from http://ejas.net/solarized +" If you use a terminal emulator with a transparent background and Solarized +" isn't displaying the background color transparently, set this to 1 and +" Solarized will use the default (transparent) background of the terminal +" emulator. *urxvt* required this in my testing; Terminal.app/iTerm2 did not. " " ------------------------------------------------ " g:solarized_degrade = 0 | 1 " ------------------------------------------------ -" Used primarily during testing, this can be set to 1 to force Solarized to -" degrade the hex color values to xterm/256 color approximate matching values. -" Note that while in terminal mode in a 256 color terminal, these degraded -" color values will be used automatically unless you have adjusted your -" terminal's default 16 colors and set g:solarized_termcolors to 16 in your -" vimrc before setting your colorscheme. +" For test purposes only; forces Solarized to use the 256 degraded color mode +" to test the approximate color values for accuracy. " " ------------------------------------------------ " g:solarized_bold = 1 | 0 @@ -207,8 +173,55 @@ " g:solarized_underline = 1 | 0 " ------------------------------------------------ " ------------------------------------------------ -" g:solarized_italic = 0 | 1 +" g:solarized_italic = 1 | 0 " ------------------------------------------------ +" If you wish to stop Solarized from displaying bold, underlined or +" italicized typefaces, simply assign a zero value to the appropriate +" variable, for example: `let g:solarized_italic=0` +" +" ------------------------------------------------ +" g:solarized_style = "dark" | "light" +" ------------------------------------------------ +" Simply another way to force Solarized to use a dark or light background. +" It's better to use `set background=dark` or `set background=light` in your +" .vimrc file. This option is mostly used in scripts (quick background color +" change) or for testing. Note that, if set, g:solarized_style overrides the +" setting for "background". +" +" ------------------------------------------------ +" g:solarized_contrast = "normal"| "high" or "low" +" ------------------------------------------------ +" Stick with normal! It's been carefully tested. Setting this option to high +" or low does use the same Solarized palette but simply shifts some values up +" or down in order to expand or compress the tonal range displayed. +" +" --------------------------------------------------------------------- +" COLOR VALUES +" --------------------------------------------------------------------- +" Download palettes and files from: http://ethanschoonover.com/solarized + +" SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB +" --------- ------- ---- ------- ----------- ---------- ----------- ----------- +" base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 +" base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 +" base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 +" base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 +" base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 +" base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 +" base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 +" base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 +" yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 +" orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 +" red #d30102 1/1 red 124 #af0000 45 70 60 211 1 2 0 99 83 +" magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 +" violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 +" blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 +" cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 +" green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 +" +" --------------------------------------------------------------------- +" COLORSCHEME HACKING +" --------------------------------------------------------------------- " " Useful commands for testing colorschemes: " :source $VIMRUNTIME/syntax/hitest.vim @@ -226,39 +239,55 @@ " Default option values"{{{ " --------------------------------------------------------------------- if !exists("g:solarized_termtrans") - let g:solarized_termtrans = 0 + let w:solarized_termtrans = 0 +else + let w:solarized_termtrans = g:solarized_termtrans endif if !exists("g:solarized_degrade") - let g:solarized_degrade = 0 + let w:solarized_degrade = 0 +else + let w:solarized_degrade = g:solarized_degrade endif if !exists("g:solarized_bold") - let g:solarized_bold = 1 + let w:solarized_bold = 1 +else + let w:solarized_bold = g:solarized_bold endif if !exists("g:solarized_underline") - let g:solarized_underline = 1 + let w:solarized_underline = 1 +else + let w:solarized_underline = g:solarized_underline endif if !exists("g:solarized_italic") - let g:solarized_italic = 1 + let w:solarized_italic = 1 +else + let w:solarized_italic = g:solarized_italic endif if !exists("g:solarized_termcolors") - let g:solarized_termcolors = 256 - let g:solarized_termcolors = 16 + let w:solarized_termcolors = 256 +else + let w:solarized_termcolors = g:solarized_termcolors endif -if !exists("g:solarized_style") - let g:solarized_style = &background +if !exists("w:solarized_style") && !exists("g:solarized_style") + let w:solarized_style = &background +elseif exists("g:solarized_style") + let w:solarized_style = g:solarized_style +" else we have an existing w:solarized_style endif if !exists("g:solarized_contrast") - let g:solarized_contrast = "normal" + let w:solarized_contrast = "normal" +else + let w:solarized_contrast = g:solarized_contrast endif "}}} " Colorscheme basic settings"{{{ " --------------------------------------------------------------------- -if g:solarized_style == "dark" +if w:solarized_style == "dark" set background=dark -elseif g:solarized_style == "light" +elseif w:solarized_style == "light" set background=light else - let g:solarized_style = &background + let w:solarized_style = &background endif hi clear @@ -282,7 +311,7 @@ let colors_name = "solarized" " leave the hex values out entirely in that case and include only cterm colors) " We also check to see if user has set solarized (force use of the " neutral gray monotone palette component) -if has("gui_running") && g:solarized_degrade == 0 +if has("gui_running") && w:solarized_degrade == 0 let s:g_back = "#002b36" let s:g_base03 = "#002b36" let s:g_base02 = "#073642" @@ -331,7 +360,7 @@ endif " --------------------------------------------------------------------- " We also set this if gui is running as we use the optional formatting " values that get set here (ou==optional underline, ob==opt bold). -if (has("gui_running") || &t_Co == 256) && g:solarized_termcolors != 16 +if (has("gui_running") || &t_Co == 256) && w:solarized_termcolors != 16 let s:c_back = "233" let s:c_base03 = "233" let s:c_base02 = "234" @@ -351,7 +380,7 @@ if (has("gui_running") || &t_Co == 256) && g:solarized_termcolors != 16 let s:c_green = "64" let s:ou = "" let s:ob = "" -elseif &t_Co > 8 || g:solarized_termcolors == 16 +elseif &t_Co > 8 || w:solarized_termcolors == 16 " NOTE: this requires terminal colors to be set to solarized standard " 16 colors (see top of this file for details) let s:c_back = "NONE" @@ -407,7 +436,7 @@ let s:s = ",standout" "}}} " Alternate light scheme "{{{ " --------------------------------------------------------------------- -if g:solarized_style == "light" +if w:solarized_style == "light" let s:c_temp03 = s:c_base03 let s:c_temp02 = s:c_base02 let s:c_temp01 = s:c_base01 @@ -438,7 +467,7 @@ endif "}}} " Alternate inverted background scheme "{{{ " --------------------------------------------------------------------- -if g:solarized_style == "inverted" +if w:solarized_style == "inverted" let s:c_temp03 = s:c_base03 let s:c_temp02 = s:c_base02 let s:c_base03 = s:c_temp02 @@ -453,7 +482,7 @@ endif "}}} " Optional contrast schemes "{{{ " --------------------------------------------------------------------- -if g:solarized_contrast == "high" +if w:solarized_contrast == "high" let s:g_base03 = s:g_base03 let s:g_base02 = s:g_base02 let s:g_base01 = s:g_base00 @@ -464,29 +493,29 @@ if g:solarized_contrast == "high" let s:g_base3 = s:g_base3 let s:g_back = s:g_back endif -if g:solarized_contrast == "low" +if w:solarized_contrast == "low" let s:g_back = s:g_base02 endif "}}} " Overrides dependent on user specified values"{{{ " --------------------------------------------------------------------- -if g:solarized_termtrans == 1 +if w:solarized_termtrans == 1 let s:c_back = "NONE" endif -if g:solarized_bold == 1 +if w:solarized_bold == 1 let s:b = ",bold" else let s:b = "" endif -if g:solarized_underline == 1 +if w:solarized_underline == 1 let s:u = ",underline" else let s:u = "" endif -if g:solarized_italic == 1 +if w:solarized_italic == 1 let s:i = ",italic" else let s:i = "" |