"Mayan Smoke" Vim Color Scheme
This is "Mayan Smoke", my current GUI-mode Vim color scheme.
This is a pleasant and ergonomic light-background color scheme, designed for long hours of coding and working. The UI elements are muted without being drab, the syntax elements are colorful without being garish, and the background is relaxing without being soporific. It is of a low-enough contrast so as not to cause eye-burn, but high-enough contrast so as not to cause eye-strain. The syntax coloration offers just a little higher resolution than most, distinguishing between class names vs. functions, strings and numbers vs. other constants, etc.
Many of the colors in this color scheme are drawn from Mayan murals, paintings and codices, and thus the name.
Click on each of the images below for a larger view.
You can download the color scheme from the Vim site.
feed

Comments
7 comments postedHi Jeet- thank you for your color schemes. I especially like the Mayan Smoke, but I am having one problem: when I use :%s..../gc to find & replace, all of the found terms are highlighted the same way-- that is, I can't tell which change Vim is asking me to confirm. If you get a chance, I would love to learn how to change this. Thank you!
The reason is that "IncSearch" and "Search" are mapped to the same color. By assigning one of this to a different color you will get the behavior you want.
I will study it
Really nice and elegant theme, thank you.
Could you publish your statusline configuration ?
Hi larsen,
It changes all the time, but currently it is given by the following in my "
~/.vimrc":call jeetlib#_UI_StatusLine_DefineSpecialHighlights() if has("autocmd") au ColorScheme * call jeetlib#_UI_StatusLine_DefineSpecialHighlights() endif set statusline=%!jeetlib#_UI_StatusLine_Compose()And the following in my "
~/.vim/autoload/jeetlib.vim":" Status Line {{{2 " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " Configuration variables. let g:_js_statusline_filepath_detail = 0 let g:_js_statusline_show_byte_and_syntax = 0 " Define color for status line alerts. function! jeetlib#_UI_StatusLine_DefineSpecialHighlights() highlight! StatusLineAlert \ gui=NONE guifg=white guibg=firebrick3 \ cterm=bold ctermfg=white ctermbg=red highlight! StatusLineUnalert \ gui=NONE guifg=#a0a090 guibg=#444444 \ cterm=NONE ctermfg=black ctermbg=white highlight! link WindowLineNum StatusLine highlight! link StatusLineSeparator LineNr endfunction " Toggle file path detail. function! jeetlib#_UI_StatusLine_CycleFilePathDetail() if g:_js_statusline_filepath_detail >= 2 let g:_js_statusline_filepath_detail = 0 else let g:_js_statusline_filepath_detail += 1 endif if g:_js_statusline_filepath_detail >= 2 echo "(statusline: full file path)" elseif g:_js_statusline_filepath_detail >= 1 echo "(statusline: relative file path)" else echo "(statusline: file name only)" endif endfunction function! jeetlib#_UI_StatusLine_BufferNumIfModified() if &modified return ' ' . bufnr("%") . ' ' else return "" endif endfunction function! jeetlib#_UI_StatusLine_BufferNumIfUnmodified() if !&modified return ' ' . bufnr("%") . ' ' else return "" endif endfunction function! jeetlib#_UI_StatusLine_WindowNum() return ' ' . winnr() . " " endfunction " Compose status line. function! jeetlib#_UI_StatusLine_Compose() " clear let l:line = "" " window number let l:line .= "%#StatusLineSeparator#|" let l:line .= "%#WindowLineNum#%{jeetlib#_UI_StatusLine_WindowNum()}" let l:line .= "%#StatusLineSeparator#|%0*" " buffer number let l:line .= "%#StatusLineAlert#%{jeetlib#_UI_StatusLine_BufferNumIfModified()}%0*" let l:line .= "%#StatusLineUnalert#%{jeetlib#_UI_StatusLine_BufferNumIfUnmodified()}%0*" let l:line .= "%#StatusLineSeparator#|%0*" " filepath let l:line .= ' "' if g:_js_statusline_filepath_detail >= 2 let l:line .= '%F' elseif g:_js_statusline_filepath_detail >= 1 let l:line .= '%f' else let l:line .= '%t' endif let l:line .= '" ' " truncate here let l:line .= ' %<' " remainder of line is right-aligned let l:line .= '%=' " file meta info let l:line .= "[%{strlen(&ft)?&ft: 'none'}|%{strlen(&fenc)?&fenc:&enc}|%{&fileformat}]" " " optional: byte value and syntax highlight type " if exists("g:_js_statusline_show_byte_and_syntax") && g:_js_statusline_show_byte_and_syntax " set statusline+=\ \|\ chr\(%b\) " set statusline+=\:\'%{synIDattr(synID(line('.'),col('.'),1),'name')}\' " endif " display info let l:line .= " [" let l:line .= "%{&wrap ?'+' : '-'}wrap|" let l:line .= "%{&expandtab ? '+' : '-'}xtab|" let l:line .= "%{&foldenable ? '+' : '-'}" if &foldmethod == "manual" let l:line .= "man" elseif &foldmethod == "indent" let l:line .= "ind" elseif &foldmethod == "expr" let l:line .= "exp" elseif &foldmethod == "marker" let l:line .= "mrk" elseif &foldmethod == "syntax" let l:line .= "syn" elseif &foldmethod == "diff" let l:line .= "dif" elseif &foldmethod == "" let l:line .= "---" else let l:line .= &foldmethod endif let l:line .= ":" . &foldlevel let l:line .= "]" " position let l:line .= " | " let line .= 'L:%l/%L, C:%c ' " done return l:line endfunction " 2}}}Hi Jeet, thanks for this very nice color scheme. What font are you using?
Consolas is the Microsoft version, and I believe that Inconsolata is an open source clone?
Post new comment