aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxero <x@xero.nu>2015-06-14 05:48:03 -0400
committerxero <x@xero.nu>2015-06-14 05:48:03 -0400
commit7eb2501d60f9a642c7c7fc3d68f5a42d50ea2ecd (patch)
tree5e33e44f4d7dfd941fe8575f88f95f15d44d741e
parentfb2ea5b0e06ad95aa6bbdf0cc752a2958b53848e (diff)
downloaddotfiles_ascii-7eb2501d60f9a642c7c7fc3d68f5a42d50ea2ecd.tar.xz
dotfiles_ascii-7eb2501d60f9a642c7c7fc3d68f5a42d50ea2ecd.zip
vim reorganization
-rw-r--r--.gitignore1
-rw-r--r--vim/.vim/bundle/lightline.vim/autoload/lightline/colorscheme/sourcerer.vim38
-rw-r--r--vim/.vimrc264
-rw-r--r--vim/.vimrc-min389
4 files changed, 594 insertions, 98 deletions
diff --git a/.gitignore b/.gitignore
index 27b0422..a36a0ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ ranger/.config/ranger/colorschemes/__init__.py
ranger/.config/ranger/colorschemes/__pycache__/
ranger/.config/ranger/history
ranger/.config/ranger/tagged
+vim/.vim/bundle/
diff --git a/vim/.vim/bundle/lightline.vim/autoload/lightline/colorscheme/sourcerer.vim b/vim/.vim/bundle/lightline.vim/autoload/lightline/colorscheme/sourcerer.vim
new file mode 100644
index 0000000..9459ea1
--- /dev/null
+++ b/vim/.vim/bundle/lightline.vim/autoload/lightline/colorscheme/sourcerer.vim
@@ -0,0 +1,38 @@
+" =============================================================================
+" Filename: autoload/lightline/colorscheme/sourcerer.vim
+" Author: xero (http://xero.nu)
+" Last Change: 2015/06/13 22:22:22
+" =============================================================================
+let s:base03 = [ '#151513', 233 ]
+let s:base02 = [ '#222222', 0 ]
+let s:base01 = [ '#4e4e43', 239 ]
+let s:base00 = [ '#666656', 242 ]
+let s:base0 = [ '#808070', 244 ]
+let s:base1 = [ '#949484', 246 ]
+let s:base2 = [ '#a8a897', 248 ]
+let s:base3 = [ '#e8e8d3', 253 ]
+let s:yellow = [ '#7A7A57', 11 ]
+let s:orange = [ '#ff9800', 3 ]
+let s:red = [ '#ff6a6a', 1 ]
+let s:magenta = [ '#6688aa', 13 ]
+let s:cyan = [ '#87ceeb', 12 ]
+let s:green = [ '#b1d631', 2 ]
+
+let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
+let s:p.normal.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
+let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
+let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base0, s:base02 ] ]
+let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
+let s:p.insert.left = [ [ s:base02, s:cyan ], [ s:base3, s:base01 ] ]
+let s:p.replace.left = [ [ s:base02, s:red ], [ s:base3, s:base01 ] ]
+let s:p.visual.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
+let s:p.normal.middle = [ [ s:base0, s:base02 ] ]
+let s:p.inactive.middle = [ [ s:base00, s:base02 ] ]
+let s:p.tabline.left = [ [ s:base3, s:base00 ] ]
+let s:p.tabline.tabsel = [ [ s:base3, s:base02 ] ]
+let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
+let s:p.tabline.right = copy(s:p.normal.right)
+let s:p.normal.error = [ [ s:red, s:base02 ] ]
+let s:p.normal.warning = [ [ s:yellow, s:base01 ] ]
+
+let g:lightline#colorscheme#sourcerer#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/.vimrc b/vim/.vimrc
index d272d43..742969d 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -26,9 +26,10 @@ set undofile
set undodir=~/.vim/undo
set noswapfile
-" file name tab completion
+" lazy file name tab completion
set wildmode=longest,list,full
set wildmenu
+set wildignorecase
" case insensitive search
set ignorecase
@@ -37,59 +38,38 @@ set smartcase
" the /g flag on :s substitutions by default
set gdefault
-" show matching brackets/parenthesis
-set showmatch
-
" make backspace behave in a sane manner
set backspace=indent,eol,start
-" disable startup message
-set shortmess+=I
-
-" syntax highlighting and colors
-syntax on
-colorscheme sourcerer
-filetype plugin indent on
-
-" stop unnecessary rendering
-set lazyredraw
-
-" show line numbers
-set number
-
-" no line wrapping
-set nowrap
-
-" highlight column
-set cursorcolumn
-
" searching
set hlsearch
set incsearch
-" no folding
-set foldlevel=99
-set foldminlines=99
-
-" wrap long lines
-set nowrap
-
" use indents of 4 spaces
-set shiftwidth=4
+set shiftwidth=2
" tabs are spaces, not tabs
set expandtab
" an indentation every four columns
-set tabstop=4
+set tabstop=2
" let backspace delete indent
-set softtabstop=4
+set softtabstop=2
" remove trailing whitespaces and ^M chars
autocmd FileType c,cpp,java,php,js,python,twig,xml,yml autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))
-" make ; work like : for commands. lazy shifting
+" let mapleader=","
+vnoremap <silent> <leader>y :w !xsel -i -b<CR>
+nnoremap <silent> <leader>y V:w !xsel -i -b<CR>
+nnoremap <silent> <leader>p :silent :r !xsel -o -b<CR>
+
+" ┏━╸┏━┓┏┳┓┏┳┓┏━┓┏┓╻╺┳┓┏━┓
+" ┃ ┃ ┃┃┃┃┃┃┃┣━┫┃┗┫ ┃┃┗━┓
+" ┗━╸┗━┛╹ ╹╹ ╹╹ ╹╹ ╹╺┻┛┗━┛
+
+" make ; work like : for commands (lazy shifting)
nnoremap ; :
" json pretty print
@@ -101,78 +81,166 @@ command Nows :%s/\s\+$//
" remove blank lines
command Nobl :g/^\s*$/d
-" enable file type detection and do language-dependent indenting
-if has("autocmd")
- filetype on
- filetype indent on
- filetype plugin on
-endif
+" toggle spellcheck
+command Spell :setlocal spell! spell?
-" let mapleader=","
-vnoremap <silent> <leader>y :w !xsel -i -b<CR>
-nnoremap <silent> <leader>y V:w !xsel -i -b<CR>
-nnoremap <silent> <leader>p :silent :r !xsel -o -b<CR>
+" ╻┏┓╻╺┳╸┏━╸┏━┓┏━╸┏━┓┏━╸┏━╸
+" ┃┃┗┫ ┃ ┣╸ ┣┳┛┣╸ ┣━┫┃ ┣╸
+" ╹╹ ╹ ╹ ┗━╸╹┗╸╹ ╹ ╹┗━╸┗━╸
-" remap code completion to ^space
-"inoremap <Nul> <C-x><C-o>
-" inoremap <Nul> <C-n>
-inoremap <C-Space> <C-x><C-o>
-inoremap <C-@> <C-Space>
+" show matching brackets/parenthesis
+set showmatch
+
+" disable startup message
+set shortmess+=I
+
+" syntax highlighting and colors
+syntax on
+colorscheme sourcerer
+filetype off
+
+" stop unnecessary rendering
+set lazyredraw
+
+" show line numbers
+set number
+
+" no line wrapping
+set nowrap
+
+" no folding
+set foldlevel=99
+set foldminlines=99
+
+" don't wrap long lines
+set nowrap
+
+" highlight column
+set cursorcolumn
+
+" ┏━┓╻ ╻ ╻┏━╸╻┏┓╻ ┏━┓╺┳╸╻ ╻┏━╸┏━╸
+" ┣━┛┃ ┃ ┃┃╺┓┃┃┗┫ ┗━┓ ┃ ┃ ┃┣╸ ┣╸
+" ╹ ┗━╸┗━┛┗━┛╹╹ ╹ ┗━┛ ╹ ┗━┛╹ ╹
+" i struggle with the decision to use plugins or a more vanilla vim. but right now i'm feeling sytanx completion, linting, and visual git diffs. don't judge me.
+" to install from the shell run:
+"& git clone https://github.com/gmarik/Vundle.vim.git ~/dotfiles/vim/.vim/bundle/Vundle.vim && vim +BundleInstall +qall && PYTHON=/usr/bin/python2 ~/dotfiles/vim/.vim/bundle/YouCompleteMe/install.sh --clang-completer
+
+set rtp+=~/.vim/bundle/Vundle.vim
+call vundle#begin()
+Plugin 'gmarik/Vundle.vim'
+Plugin 'Valloric/YouCompleteMe'
+Plugin 'scrooloose/syntastic'
+Plugin 'airblade/vim-gitgutter'
+Plugin 'isa/vim-matchit'
+Plugin 'shawncplus/phpcomplete.vim'
+Plugin 'mustache/vim-mustache-handlebars'
+Plugin 'itchyny/lightline.vim'
+Plugin 'tpope/vim-fugitive'
+call vundle#end()
+filetype plugin indent on
+" syntatic http://git.io/syntastic.vim
+" linters: (from aur) nodejs-jshint, nodejs-jsonlint, csslint, checkbashisms
+let g:syntastic_always_populate_loc_list = 1
+let g:syntastic_auto_loc_list = 1
+let g:syntastic_check_on_open = 1
+let g:syntastic_check_on_wq = 0
+highlight SyntasticErrorSign ctermfg=red ctermbg=237
+highlight SyntasticWarningSign ctermfg=yellow ctermbg=237
+highlight SyntasticStyleErrorSign ctermfg=red ctermbg=237
+highlight SyntasticStyleWarningSign ctermfg=yellow ctermbg=237
+
+" git-gutter http://git.io/vimgitgutter
+let g:gitgutter_realtime = 1
+let g:gitgutter_eager = 1
+let g:gitgutter_diff_args = '-w'
+let g:gitgutter_sign_added = '+'
+let g:gitgutter_sign_modified = '~'
+let g:gitgutter_sign_removed = '-'
+let g:gitgutter_sign_removed_first_line = '^'
+let g:gitgutter_sign_modified_removed = ':'
+let g:gitgutter_max_signs = 1500
+highlight clear SignColumn
+highlight GitGutterAdd ctermfg=green ctermbg=237
+highlight GitGutterChange ctermfg=yellow ctermbg=237
+highlight GitGutterDelete ctermfg=red ctermbg=237
+highlight GitGutterChangeDelete ctermfg=red ctermbg=237
+
+" vim mustache http://git.io/vim-stash
+let g:mustache_abbreviations = 1
+
+" ┏━┓╺┳╸┏━┓╺┳╸╻ ╻┏━┓╻ ╻┏┓╻┏━╸
+" ┗━┓ ┃ ┣━┫ ┃ ┃ ┃┗━┓┃ ┃┃┗┫┣╸
+" ┗━┛ ╹ ╹ ╹ ╹ ┗━┛┗━┛┗━╸╹╹ ╹┗━╸
+" lightline http://git.io/lightline
" █▓▒░ wizard status line
set laststatus=2
+let g:lightline = {
+ \ 'colorscheme': 'sourcerer',
+ \ 'active': {
+ \ 'left': [ [ 'filename' ],
+ \ [ 'readonly', 'fugitive' ] ],
+ \ 'right': [ [ 'percent', 'lineinfo' ],
+ \ [ 'fileencoding', 'filetype' ],
+ \ [ 'fileformat', 'syntastic' ] ]
+ \ },
+ \ 'component_function': {
+ \ 'modified': 'WizMod',
+ \ 'readonly': 'WizRO',
+ \ 'fugitive': 'WizGit',
+ \ 'filename': 'WizName',
+ \ 'filetype': 'WizType',
+ \ 'fileformat' : 'WizFormat',
+ \ 'fileencoding': 'WizEncoding',
+ \ 'mode': 'WizMode',
+ \ },
+ \ 'component_expand': {
+ \ 'syntastic': 'SyntasticStatuslineFlag',
+ \ },
+ \ 'component_type': {
+ \ 'syntastic': 'error',
+ \ },
+ \ 'separator': { 'left': '▓▒░', 'right': '░▒▓' },
+ \ 'subseparator': { 'left': '▒', 'right': '░' }
+ \ }
+
+function! WizMod()
+ return &ft =~ 'help\|vimfiler' ? '' : &modified ? '»' : &modifiable ? '' : ''
+endfunction
-hi BgColor guibg=#3A3A3A guifg=#ffffff ctermbg=237 ctermfg=255
-hi ModColor guibg=#3A3A3A guifg=#afaf00 ctermbg=237 ctermfg=142
-hi StatColor guibg=#3a3a3a guifg=#ffffff ctermbg=237 ctermfg=255
-hi GitColor guibg=#4e4e4e guifg=#ffffff ctermbg=239 ctermfg=255
-hi VoidColor guibg=#222222 guifg=#4e4e4e ctermbg=NONE ctermfg=239
-hi TypeColor guibg=#D78700 guifg=#262626 ctermbg=66 ctermfg=235
-hi PosColor guibg=#8787AF guifg=#262626 ctermbg=103 ctermfg=235
-
-function! WizardStatus(mode)
- let statusline="%#BgColor#"
- if &modified == 1
- let statusline.="%#ModColor# »» "
- else
- let statusline.=" "
- endif
- if &readonly != ''
- hi StatColor guifg=#af0000 ctermfg=124
- endif
- let statusline.="%#StatColor#%F "
- "let branch = system("git branch 2> /dev/null | sed -e '/^[^*]/d'")
- "let branch = system("git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* //'")
- "if branch != ''
- " let statusline .= '%#VoidColor#▓%#GitColor# ' . substitute(branch, '\n', '', 'g') . ' %#VoidColor#▓▒░ '
- "else
- let statusline .= '%#VoidColor#▒░ '
- "endif
- let statusline .= "%=%h%w\ %#TypeColor#▓"
- if &filetype != ''
- let statusline .="▒ %Y "
- endif
- let statusline .="▒ %{&encoding}:%{&fileformat} %#PosColor#▒ %p%% ░ %l/%L\.\%c\ ▒"
- return statusline
+function! WizRO()
+ return &ft !~? 'help\|vimfiler' && &readonly ? 'x' : ''
endfunction
-au WinEnter * setlocal statusline=%!WizardStatus('Enter')
-au WinLeave * setlocal statusline=%!WizardStatus('Leave')
-set statusline=%!WizardStatus('Enter')
-
-function! Colorize(mode)
- if a:mode == 'i'
- hi StatColor guibg=#D78700 guifg=#222222 ctermbg=110 ctermfg=235
- elseif a:mode == 'r'
- hi StatColor guibg=#D78700 guifg=#222222 ctermbg=172 ctermfg=235
- elseif a:mode == 'v'
- hi StatColor guibg=#D78700 guifg=#222222 ctermbg=172 ctermfg=235
- else
- hi StatColor guibg=#af0000 guifg=#222222 ctermbg=124 ctermfg=235
+function! WizGit()
+ if &ft !~? 'help\|vimfiler' && exists("*fugitive#head")
+ return fugitive#head()
endif
+ return ''
endfunction
-au InsertEnter * call Colorize(v:insertmode)
-au InsertLeave * hi StatColor guibg=#3a3a3a guifg=#ffffff ctermbg=237 ctermfg=255
+function! WizName()
+ return ('' != WizMod() ? WizMod() . ' ' : '') .
+ \ ('' != expand('%:t') ? expand('%:t') : '[none]')
+endfunction
- "execute pathogen#infect()
+function! WizType()
+ return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype : '') : ''
+endfunction
+
+function! WizFormat()
+ return ''
+endfunction
+
+function! WizEncoding()
+ return winwidth(0) > 70 ? (strlen(&fenc) ? &enc : &enc) : ''
+endfunction
+
+augroup AutoSyntastic
+ autocmd!
+ autocmd BufWritePost *.c,*.cpp call s:syntastic()
+augroup END
+function! s:syntastic()
+ SyntasticCheck
+ call lightline#update()
+endfunction
diff --git a/vim/.vimrc-min b/vim/.vimrc-min
new file mode 100644
index 0000000..83d3771
--- /dev/null
+++ b/vim/.vimrc-min
@@ -0,0 +1,389 @@
+" ██
+" ░░
+" ██ ██ ██ ██████████ ██████ █████
+" ░██ ░██░██░░██░░██░░██░░██░░█ ██░░░██
+" ░░██ ░██ ░██ ░██ ░██ ░██ ░██ ░ ░██ ░░
+" ░░████ ░██ ░██ ░██ ░██ ░██ ░██ ██
+" ░░██ ░██ ███ ░██ ░██░███ ░░█████
+" ░░ ░░ ░░░ ░░ ░░ ░░░ ░░░░░
+"
+" ▓▓▓▓▓▓▓▓▓▓
+" ░▓ author ▓ xero <x@xero.nu>
+" ░▓ code ▓ http://code.xero.nu/dotfiles
+" ░▓ mirror ▓ http://git.io/.files
+" ░▓▓▓▓▓▓▓▓▓▓
+" ░░░░░░░░░░
+"
+" use vim settings, rather than vi settings
+" must be first, because it changes other options as a side effect
+set nocompatible
+
+" paste without auto indentation
+set paste
+
+" maintain undo history between sessions
+set undofile
+set undodir=~/.vim/undo
+set noswapfile
+
+" lazy file name tab completion
+set wildmode=longest,list,full
+set wildmenu
+set wildignorecase
+
+" case insensitive search
+set ignorecase
+set smartcase
+
+" the /g flag on :s substitutions by default
+set gdefault
+
+" make backspace behave in a sane manner
+set backspace=indent,eol,start
+
+" searching
+set hlsearch
+set incsearch
+
+" use indents of 4 spaces
+set shiftwidth=2
+
+" tabs are spaces, not tabs
+set expandtab
+
+" an indentation every four columns
+set tabstop=2
+
+" let backspace delete indent
+set softtabstop=2
+
+" remove trailing whitespaces and ^M chars
+autocmd FileType c,cpp,java,php,js,python,twig,xml,yml autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))
+
+" let mapleader=","
+vnoremap <silent> <leader>y :w !xsel -i -b<CR>
+nnoremap <silent> <leader>y V:w !xsel -i -b<CR>
+nnoremap <silent> <leader>p :silent :r !xsel -o -b<CR>
+
+" ┏━╸┏━┓┏┳┓┏┳┓┏━┓┏┓╻╺┳┓┏━┓
+" ┃ ┃ ┃┃┃┃┃┃┃┣━┫┃┗┫ ┃┃┗━┓
+" ┗━╸┗━┛╹ ╹╹ ╹╹ ╹╹ ╹╺┻┛┗━┛
+
+" make ; work like : for commands (lazy shifting)
+nnoremap ; :
+
+" json pretty print
+command J :%!python -mjson.tool
+
+" remove trailing white space
+command Nows :%s/\s\+$//
+
+" remove blank lines
+command Nobl :g/^\s*$/d
+
+" toggle spellcheck
+command Spell :setlocal spell! spell?
+
+" ╻┏┓╻╺┳╸┏━╸┏━┓┏━╸┏━┓┏━╸┏━╸
+" ┃┃┗┫ ┃ ┣╸ ┣┳┛┣╸ ┣━┫┃ ┣╸
+" ╹╹ ╹ ╹ ┗━╸╹┗╸╹ ╹ ╹┗━╸┗━╸
+
+" show matching brackets/parenthesis
+set showmatch
+
+" disable startup message
+set shortmess+=I
+
+" syntax highlighting and colors
+syntax on
+colorscheme sourcerer
+filetype off
+
+" stop unnecessary rendering
+set lazyredraw
+
+" show line numbers
+set number
+
+" no line wrapping
+set nowrap
+
+" no folding
+set foldlevel=99
+set foldminlines=99
+
+" don't wrap long lines
+set nowrap
+
+" highlight column
+set cursorcolumn
+
+" enable file type detection and do language-dependent indenting
+if has("autocmd")
+ filetype on
+ filetype indent on
+ filetype plugin on
+endif
+
+" ┏━┓╺┳╸┏━┓╺┳╸╻ ╻┏━┓╻ ╻┏┓╻┏━╸
+" ┗━┓ ┃ ┣━┫ ┃ ┃ ┃┗━┓┃ ┃┃┗┫┣╸
+" ┗━┛ ╹ ╹ ╹ ╹ ┗━┛┗━┛┗━╸╹╹ ╹┗━╸
+" █▓▒░ wizard status line
+set laststatus=2
+
+hi BgColor guibg=#3A3A3A guifg=#ffffff ctermbg=237 ctermfg=255
+hi ModColor guibg=#3A3A3A guifg=#afaf00 ctermbg=237 ctermfg=142
+hi StatColor guibg=#3a3a3a guifg=#ffffff ctermbg=237 ctermfg=255
+hi GitColor guibg=#4e4e4e guifg=#ffffff ctermbg=239 ctermfg=255
+hi VoidColor guibg=#222222 guifg=#4e4e4e ctermbg=NONE ctermfg=239
+hi TypeColor guibg=#D78700 guifg=#262626 ctermbg=66 ctermfg=235
+hi PosColor guibg=#8787AF guifg=#262626 ctermbg=103 ctermfg=235
+
+function! WizardStatus(mode)
+ let statusline="%#BgColor#"
+ if &modified == 1
+ let statusline.="%#ModColor# »» "
+ else
+ let statusline.=" "
+ endif
+ if &readonly != ''
+ hi StatColor guifg=#af0000 ctermfg=124
+ endif
+ let statusline.="%#StatColor#%F "
+ let statusline .= '%#VoidColor#▒░ '
+ let statusline .= "%=%h%w\ %#TypeColor#▓"
+ if &filetype != ''
+ let statusline .="▒ %Y "
+ endif
+ let statusline .="▒ %{&encoding}:%{&fileformat} %#PosColor#▒ %p%% ░ %l/%L\.\%c\ ▒"
+ return statusline
+endfunction
+
+au WinEnter * setlocal statusline=%!WizardStatus('Enter')
+au WinLeave * setlocal statusline=%!WizardStatus('Leave')
+set statusline=%!WizardStatus('Enter')
+
+function! Colorize(mode)
+ if a:mode == 'i'
+ hi StatColor guibg=#D78700 guifg=#222222 ctermbg=110 ctermfg=235
+ elseif a:mode == 'r'
+ hi StatColor guibg=#D78700 guifg=#222222 ctermbg=172 ctermfg=235
+ elseif a:mode == 'v'
+ hi StatColor guibg=#D78700 guifg=#222222 ctermbg=172 ctermfg=235
+ else
+ hi StatColor guibg=#af0000 guifg=#222222 ctermbg=124 ctermfg=235
+ endif
+endfunction
+
+au InsertEnter * call Colorize(v:insertmode)
+au InsertLeave * hi StatColor guibg=#3a3a3a guifg=#ffffff ctermbg=237 ctermfg=255
+
+" ██████ ██████ ██ ██ ██████ █████ █████ ██████ █████ ██████
+" ██░░░░ ██░░░░██░██ ░██░░██░░████░░░██ ██░░░██░░██░░████░░░██░░██░░██
+" ░░█████ ░██ ░██░██ ░██ ░██ ░░░██ ░░ ░███████ ░██ ░░░███████ ░██ ░░
+" ░░░░░██░██ ░██░██ ░██ ░██ ░██ ██░██░░░░ ░██ ░██░░░░ ░██
+" ██████ ░░██████ ░░██████░███ ░░█████ ░░██████░███ ░░██████░███
+" ░░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░░ ░░░ ░░░░░░ ░░░
+" r e a d c o d e l i k e a w i z a r d
+"
+" sourcerer colors by xero harrison (http://xero.nu)
+" ├─ based on sorcerer by Jeet Sukumaran (http://jeetworks.org)
+" └─ based on mustang by Henrique C. Alves (hcarvalhoalves@gmail.com)
+
+set background=dark
+hi clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "sourcerer"
+
+
+" █▓▒░ GUI colors
+hi Normal guifg=#c2c2b0 guibg=#222222 gui=NONE
+hi ColorColumn guifg=NONE guibg=#1c1c1c
+hi Cursor guifg=NONE guibg=#626262 gui=NONE
+hi CursorColumn guibg=#2d2d2d
+hi CursorLine guibg=#2d2d2d
+hi DiffAdd guifg=#000000 guibg=#3cb371 gui=NONE
+hi DiffDelete guifg=#000000 guibg=#aa4450 gui=NONE
+hi DiffChange guifg=#000000 guibg=#4f94cd gui=NONE
+hi DiffText guifg=#000000 guibg=#8ee5ee gui=NONE
+hi Directory guifg=#1e90ff guibg=NONE gui=NONE
+hi ErrorMsg guifg=#ff6a6a guibg=NONE gui=bold
+hi FoldColumn guifg=#68838b guibg=#4B4B4B gui=bold
+hi Folded guifg=#406060 guibg=#232c2c gui=NONE
+hi IncSearch guifg=#ffffff guibg=#ff4500 gui=bold
+hi LineNr guifg=#878787 guibg=#3A3A3A gui=NONE
+hi MatchParen guifg=#fff000 guibg=NONE gui=bold
+hi ModeMsg guifg=#afafaf guibg=#222222 gui=bold
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold
+hi NonText guifg=#404050 guibg=NONE gui=NONE
+
+hi Pmenu guifg=#ffffff guibg=#444444
+hi PmenuSel guifg=#000000 guibg=#b1d631
+" hi PmenuSbar guifg=#ffffff guibg=#c1cdc1 gui=NONE
+" hi PmenuThumb guifg=#ffffff guibg=#838b83 gui=NONE
+
+hi Question guifg=#00ee00 guibg=NONE gui=bold
+hi Search guifg=#000000 guibg=#d6e770 gui=bold
+hi SignColumn guifg=#ffffff guibg=NONE gui=NONE
+hi SpecialKey guifg=#505060 guibg=NONE gui=NONE
+hi SpellBad guisp=#ee2c2c gui=undercurl
+hi SpellCap guisp=#0000ff gui=undercurl
+hi SpellLocal guisp=#008b8b gui=undercurl
+hi SpellRare guisp=#ff00ff gui=undercurl
+hi StatusLine guifg=#000000 guibg=#808070 gui=bold
+hi StatusLineNC guifg=#000000 guibg=#404c4c gui=italic
+hi VertSplit guifg=#404c4c guibg=#404c4c gui=NONE
+hi TabLine guifg=fg guibg=#d3d3d3 gui=underline
+hi TabLineFill guifg=fg guibg=NONE gui=reverse
+hi TabLineSel guifg=fg guibg=NONE gui=bold
+hi Title guifg=#528b8b guibg=NONE gui=bold
+hi Visual guifg=#000000 guibg=#6688aa gui=NONE
+hi WarningMsg guifg=#ee9a00 guibg=NONE gui=NONE
+hi WildMenu guifg=#000000 guibg=#87ceeb gui=NONE
+hi ExtraWhitespace guifg=fg guibg=#528b8b gui=NONE
+
+" syntax highlighting
+hi Comment guifg=#686858 gui=italic
+hi Boolean guifg=#ff9800 gui=NONE
+hi String guifg=#779b70 gui=NONE
+hi Identifier guifg=#9ebac2 gui=NONE
+hi Function guifg=#faf4c6 gui=NONE
+hi Type guifg=#7e8aa2 gui=NONE
+hi Statement guifg=#90b0d1 gui=NONE
+hi Keyword guifg=#90b0d1 gui=NONE
+hi Constant guifg=#ff9800 gui=NONE
+hi Number guifg=#cc8800 gui=NONE
+hi Special guifg=#719611 gui=NONE
+hi PreProc guifg=#528b8b gui=NONE
+hi Todo guifg=#8f6f8f guibg=#202020 gui=italic,underline,bold
+
+" diff
+hi diffOldFile guifg=#88afcb guibg=NONE gui=italic
+hi diffNewFile guifg=#88afcb guibg=NONE gui=italic
+hi diffFile guifg=#88afcb guibg=NONE gui=italic
+hi diffLine guifg=#88afcb guibg=NONE gui=italic
+hi link diffSubname diffLine
+hi diffAdded guifg=#3cb371 guibg=NONE gui=NONE
+hi diffRemoved guifg=#aa4450 guibg=NONE gui=NONE
+hi diffChanged guifg=#4f94cd guibg=NONE gui=NONE
+hi link diffOnly Constant
+hi link diffIdentical Constant
+hi link diffDiffer Constant
+hi link diffBDiffer Constant
+hi link diffIsA Constant
+hi link diffNoEOL Constant
+hi link diffCommon Constant
+hi link diffComment Constant
+
+" python
+hi pythonException guifg=#90b0d1 guibg=NONE gui=NONE
+hi pythonExClass guifg=#996666 guibg=NONE gui=NONE
+hi pythonDecorator guifg=#888555 guibg=NONE gui=NONE
+hi link pythonDecoratorFunction pythonDecorator
+
+" █▓▒░ 256 colors
+hi Normal cterm=NONE ctermbg=NONE ctermfg=145
+hi ColorColumn cterm=NONE ctermbg=16 ctermfg=NONE
+hi Cursor cterm=NONE ctermbg=241 ctermfg=fg
+hi CursorColumn cterm=NONE ctermbg=16 ctermfg=fg
+hi CursorLine cterm=NONE ctermbg=236 ctermfg=fg
+hi DiffAdd cterm=NONE ctermbg=71 ctermfg=16
+hi DiffDelete cterm=NONE ctermbg=124 ctermfg=16
+hi DiffChange cterm=NONE ctermbg=68 ctermfg=16
+hi DiffText cterm=NONE ctermbg=117 ctermfg=16
+hi Directory cterm=NONE ctermbg=234 ctermfg=33
+hi ErrorMsg cterm=bold ctermbg=NONE ctermfg=203
+hi FoldColumn cterm=bold ctermbg=239 ctermfg=66
+hi Folded cterm=NONE ctermbg=16 ctermfg=60
+hi IncSearch cterm=bold ctermbg=202 ctermfg=231
+hi LineNr cterm=NONE ctermbg=237 ctermfg=102
+hi MatchParen cterm=bold ctermbg=NONE ctermfg=226
+hi ModeMsg cterm=bold ctermbg=NONE ctermfg=145
+hi MoreMsg cterm=bold ctermbg=234 ctermfg=29
+hi NonText cterm=NONE ctermbg=NONE ctermfg=59
+hi Pmenu cterm=NONE ctermbg=238 ctermfg=231
+hi PmenuSbar cterm=NONE ctermbg=250 ctermfg=fg
+hi PmenuSel cterm=NONE ctermbg=149 ctermfg=16
+hi Question cterm=bold ctermbg=NONE ctermfg=46
+hi Search cterm=bold ctermbg=185 ctermfg=16
+hi SignColumn cterm=NONE ctermbg=NONE ctermfg=231
+hi SpecialKey cterm=NONE ctermbg=NONE ctermfg=59
+hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=196
+hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=21
+hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=30
+hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=201
+hi StatusLine cterm=bold ctermbg=101 ctermfg=16
+hi StatusLineNC cterm=NONE ctermbg=102 ctermfg=16
+hi VertSplit cterm=NONE ctermbg=102 ctermfg=102
+hi TabLine cterm=bold ctermbg=102 ctermfg=16
+hi TabLineFill cterm=NONE ctermbg=102 ctermfg=16
+hi TabLineSel cterm=bold ctermbg=16 ctermfg=59
+hi Title cterm=bold ctermbg=NONE ctermfg=66
+hi Visual cterm=NONE ctermbg=67 ctermfg=16
+hi WarningMsg cterm=NONE ctermbg=234 ctermfg=208
+hi WildMenu cterm=NONE ctermbg=116 ctermfg=16
+hi ExtraWhitespace cterm=NONE ctermbg=66 ctermfg=fg
+
+hi Comment cterm=NONE ctermbg=NONE ctermfg=59
+hi Boolean cterm=NONE ctermbg=NONE ctermfg=208
+hi String cterm=NONE ctermbg=NONE ctermfg=101
+hi Identifier cterm=NONE ctermbg=NONE ctermfg=145
+hi Function cterm=NONE ctermbg=NONE ctermfg=230
+hi Type cterm=NONE ctermbg=NONE ctermfg=103
+hi Statement cterm=NONE ctermbg=NONE ctermfg=110
+hi Keyword cterm=NONE ctermbg=NONE ctermfg=110
+hi Constant cterm=NONE ctermbg=NONE ctermfg=208
+hi Number cterm=NONE ctermbg=NONE ctermfg=172
+hi Special cterm=NONE ctermbg=NONE ctermfg=64
+hi PreProc cterm=NONE ctermbg=NONE ctermfg=66
+hi Todo cterm=bold,underline ctermbg=234 ctermfg=96
+
+hi diffOldFile cterm=NONE ctermbg=NONE ctermfg=67
+hi diffNewFile cterm=NONE ctermbg=NONE ctermfg=67
+hi diffFile cterm=NONE ctermbg=NONE ctermfg=67
+hi diffLine cterm=NONE ctermbg=NONE ctermfg=67
+hi diffAdded cterm=NONE ctermfg=NONE ctermfg=71
+hi diffRemoved cterm=NONE ctermfg=NONE ctermfg=124
+hi diffChanged cterm=NONE ctermfg=NONE ctermfg=68
+hi link diffSubname diffLine
+hi link diffOnly Constant
+hi link diffIdentical Constant
+hi link diffDiffer Constant
+hi link diffBDiffer Constant
+hi link diffIsA Constant
+hi link diffNoEOL Constant
+hi link diffCommon Constant
+hi link diffComment Constant
+
+hi pythonClass cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonDecorator cterm=NONE ctermbg=NONE ctermfg=101
+hi pythonExClass cterm=NONE ctermbg=NONE ctermfg=95
+hi pythonException cterm=NONE ctermbg=NONE ctermfg=110
+hi pythonFunc cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonFuncParams cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonKeyword cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonParam cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonRawEscape cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonSuperclasses cterm=NONE ctermbg=NONE ctermfg=fg
+hi pythonSync cterm=NONE ctermbg=NONE ctermfg=fg
+
+hi Conceal cterm=NONE ctermbg=248 ctermfg=252
+hi Error cterm=NONE ctermbg=196 ctermfg=231
+hi Ignore cterm=NONE ctermbg=NONE ctermfg=234
+hi InsertModeCursorLine cterm=NONE ctermbg=16 ctermfg=fg
+hi NormalModeCursorLine cterm=NONE ctermbg=235 ctermfg=fg
+hi PmenuThumb cterm=reverse ctermbg=NONE ctermfg=fg
+hi StatusLineAlert cterm=NONE ctermbg=160 ctermfg=231
+hi StatusLineUnalert cterm=NONE ctermbg=238 ctermfg=144
+hi Test cterm=NONE ctermbg=NONE ctermfg=fg
+hi Underlined cterm=underline ctermbg=NONE ctermfg=111
+hi VisualNOS cterm=bold,underline ctermbg=NONE ctermfg=fg
+hi cCursor cterm=reverse ctermbg=NONE ctermfg=fg
+hi iCursor cterm=NONE ctermbg=210 ctermfg=16
+hi lCursor cterm=NONE ctermbg=145 ctermfg=234
+hi nCursor cterm=NONE ctermbg=NONE ctermfg=145
+hi vCursor cterm=NONE ctermbg=201 ctermfg=16