Created
September 12, 2016 20:38
-
-
Save Zia-/819e77452aac4986b9acc10487234b57 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"======== Custom Mapping ======== | |
"general mapping | |
nmap <C-Tab> :tabnext<CR> | |
nmap <C-S-Tab> :tabprevious<CR> | |
map <C-S-Tab> :tabprevious<CR> | |
map <C-Tab> :tabnext<CR> | |
imap <C-S-Tab> <ESC> : tabprevious<CR> | |
imap <C-Tab> <ESC> : tabnext<CR> | |
noremap <F7> :set expandtab!<CR> | |
"Higlight searches | |
set hlsearch | |
"Highlight cursorline - Horizontally | |
set cursorline | |
highlight Cursorline guibg=Gray90 ctermbg=lightgray | |
"Indentation Options | |
"Indentation settings for using 4 spaces instead of tabs. | |
set shiftwidth=4 | |
set softtabstop=4 | |
set expandtab | |
"Display the cursor position on the last line of the screen or in the status line of a window | |
set ruler | |
"Instead of failing a command because of unsaved changes, instead raise a | |
"dialogue asking if you wish to save changed files. | |
set confirm | |
"Always display the status line, even if only one window is displayed | |
set laststatus=2 | |
"use visual bell instead of beeping when doing something wrong | |
set visualbell | |
"Enable use of the mouse for all nodes | |
set mouse=a | |
"Set the command window height to l lines, to avoid many cases of having to | |
" "press <ENTER> to continue" | |
set cmdheight=2 | |
"Display line number | |
set number | |
"Display an incompletecommand in the lower right corner of the Vim | |
"window, left of the ruler | |
set showcmd | |
"Keep 50 commands and 50 search patterns in the history. | |
set history=50 | |
"Enable mouse use in all modes | |
set mouse=a | |
"Highlights matching brackets | |
set showmatch | |
set matchtime=3 | |
"Autoindent | |
set autoindent | |
set smartindent | |
set wildmenu | |
set wildmode=longest:full,full | |
set smarttab | |
set title | |
" Vim color file | |
" Maintainer: Martin Baeuml <[email protected]> | |
" Last Change: 2008-02-09 | |
" | |
" This color file is a modification of the "summerfruit" color scheme by Armin Ronacher | |
" so that it can be used on 88- and 256-color xterms. The colors are translated | |
" using Henry So's programmatic approximation of gui colors from his "desert256" | |
" color scheme. | |
" | |
" I removed the "italic" option and the background color from | |
" comment-coloring because that looks odd on my console. | |
" | |
" The original "summerfruit" color scheme and "desert256" are available from vim.org. | |
set background=light | |
if version > 580 | |
" no guarantees for version 5.8 and below, but this makes it stop | |
" complaining | |
hi clear | |
if exists("syntax_on") | |
syntax reset | |
endif | |
endif | |
let g:colors_name="summerfruit256" | |
if has("gui_running") || &t_Co == 88 || &t_Co == 256 | |
" functions {{{ | |
" returns an approximate grey index for the given grey level | |
fun <SID>grey_number(x) | |
if &t_Co == 88 | |
if a:x < 23 | |
return 0 | |
elseif a:x < 69 | |
return 1 | |
elseif a:x < 103 | |
return 2 | |
elseif a:x < 127 | |
return 3 | |
elseif a:x < 150 | |
return 4 | |
elseif a:x < 173 | |
return 5 | |
elseif a:x < 196 | |
return 6 | |
elseif a:x < 219 | |
return 7 | |
elseif a:x < 243 | |
return 8 | |
else | |
return 9 | |
endif | |
else | |
if a:x < 14 | |
return 0 | |
else | |
let l:n = (a:x - 8) / 10 | |
let l:m = (a:x - 8) % 10 | |
if l:m < 5 | |
return l:n | |
else | |
return l:n + 1 | |
endif | |
endif | |
endif | |
endfun | |
" returns the actual grey level represented by the grey index | |
fun <SID>grey_level(n) | |
if &t_Co == 88 | |
if a:n == 0 | |
return 0 | |
elseif a:n == 1 | |
return 46 | |
elseif a:n == 2 | |
return 92 | |
elseif a:n == 3 | |
return 115 | |
elseif a:n == 4 | |
return 139 | |
elseif a:n == 5 | |
return 162 | |
elseif a:n == 6 | |
return 185 | |
elseif a:n == 7 | |
return 208 | |
elseif a:n == 8 | |
return 231 | |
else | |
return 255 | |
endif | |
else | |
if a:n == 0 | |
return 0 | |
else | |
return 8 + (a:n * 10) | |
endif | |
endif | |
endfun | |
" returns the palette index for the given grey index | |
fun <SID>grey_color(n) | |
if &t_Co == 88 | |
if a:n == 0 | |
return 16 | |
elseif a:n == 9 | |
return 79 | |
else | |
return 79 + a:n | |
endif | |
else | |
if a:n == 0 | |
return 16 | |
elseif a:n == 25 | |
return 231 | |
else | |
return 231 + a:n | |
endif | |
endif | |
endfun | |
" returns an approximate color index for the given color level | |
fun <SID>rgb_number(x) | |
if &t_Co == 88 | |
if a:x < 69 | |
return 0 | |
elseif a:x < 172 | |
return 1 | |
elseif a:x < 230 | |
return 2 | |
else | |
return 3 | |
endif | |
else | |
if a:x < 75 | |
return 0 | |
else | |
let l:n = (a:x - 55) / 40 | |
let l:m = (a:x - 55) % 40 | |
if l:m < 20 | |
return l:n | |
else | |
return l:n + 1 | |
endif | |
endif | |
endif | |
endfun | |
" returns the actual color level for the given color index | |
fun <SID>rgb_level(n) | |
if &t_Co == 88 | |
if a:n == 0 | |
return 0 | |
elseif a:n == 1 | |
return 139 | |
elseif a:n == 2 | |
return 205 | |
else | |
return 255 | |
endif | |
else | |
if a:n == 0 | |
return 0 | |
else | |
return 55 + (a:n * 40) | |
endif | |
endif | |
endfun | |
" returns the palette index for the given R/G/B color indices | |
fun <SID>rgb_color(x, y, z) | |
if &t_Co == 88 | |
return 16 + (a:x * 16) + (a:y * 4) + a:z | |
else | |
return 16 + (a:x * 36) + (a:y * 6) + a:z | |
endif | |
endfun | |
" returns the palette index to approximate the given R/G/B color levels | |
fun <SID>color(r, g, b) | |
" get the closest grey | |
let l:gx = <SID>grey_number(a:r) | |
let l:gy = <SID>grey_number(a:g) | |
let l:gz = <SID>grey_number(a:b) | |
" get the closest color | |
let l:x = <SID>rgb_number(a:r) | |
let l:y = <SID>rgb_number(a:g) | |
let l:z = <SID>rgb_number(a:b) | |
if l:gx == l:gy && l:gy == l:gz | |
" there are two possibilities | |
let l:dgr = <SID>grey_level(l:gx) - a:r | |
let l:dgg = <SID>grey_level(l:gy) - a:g | |
let l:dgb = <SID>grey_level(l:gz) - a:b | |
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) | |
let l:dr = <SID>rgb_level(l:gx) - a:r | |
let l:dg = <SID>rgb_level(l:gy) - a:g | |
let l:db = <SID>rgb_level(l:gz) - a:b | |
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) | |
if l:dgrey < l:drgb | |
" use the grey | |
return <SID>grey_color(l:gx) | |
else | |
" use the color | |
return <SID>rgb_color(l:x, l:y, l:z) | |
endif | |
else | |
" only one possibility | |
return <SID>rgb_color(l:x, l:y, l:z) | |
endif | |
endfun | |
" returns the palette index to approximate the 'rrggbb' hex string | |
fun <SID>rgb(rgb) | |
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 | |
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 | |
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 | |
return <SID>color(l:r, l:g, l:b) | |
endfun | |
" sets the highlighting for the given group | |
fun <SID>X(group, fg, bg, attr) | |
if a:fg != "" | |
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg) | |
endif | |
if a:bg != "" | |
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg) | |
endif | |
if a:attr != "" | |
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr | |
endif | |
endfun | |
" }}} | |
" Global | |
call <SID>X("Normal", "000000", "ffffff", "") | |
call <SID>X("NonText", "438ec3", "b7dce8", "") | |
" Search | |
call <SID>X("Search", "800000", "ffae00", "") | |
call <SID>X("IncSearch", "800000", "ffae00", "") | |
" Interface Elements | |
call <SID>X("StatusLine", "ffffff", "43c464", "bold") | |
call <SID>X("StatusLineNC", "9bd4a9", "51b069", "") | |
call <SID>X("VertSplit", "3687a2", "3687a2", "") | |
call <SID>X("Folded", "3c78a2", "c3daea", "") | |
call <SID>X("IncSearch", "708090", "f0e68c", "") | |
call <SID>X("Pmenu", "ffffff", "cb2f27", "") | |
call <SID>X("SignColumn", "", "", "") | |
call <SID>X("CursorLine", "", "c0d9eb", "") | |
call <SID>X("LineNr", "eeeeee", "438ec3", "bold") | |
call <SID>X("MatchParen", "", "", "") | |
" Specials | |
call <SID>X("Todo", "e50808", "dbf3cd", "bold") | |
call <SID>X("Title", "000000", "", "") | |
call <SID>X("Special", "fd8900", "", "") | |
" Syntax Elements | |
call <SID>X("String", "0086d2", "", "") | |
call <SID>X("Constant", "0086d2", "", "") | |
call <SID>X("Number", "0086f7", "", "") | |
call <SID>X("Statement", "fb660a", "", "") | |
call <SID>X("Function", "ff0086", "", "") | |
call <SID>X("PreProc", "ff0007", "", "") | |
call <SID>X("Comment", "22a21f", "", "bold") | |
call <SID>X("Type", "70796b", "", "") | |
call <SID>X("Error", "ffffff", "d40000", "") | |
call <SID>X("Identifier", "ff0086", "", "") | |
call <SID>X("Label", "ff0086", "", "") | |
" Python Highlighting | |
call <SID>X("pythonCoding", "ff0086", "", "") | |
call <SID>X("pythonRun", "ff0086", "", "") | |
call <SID>X("pythonBuiltinObj", "2b6ba2", "", "") | |
call <SID>X("pythonBuiltinFunc", "2b6ba2", "", "") | |
call <SID>X("pythonException", "ee0000", "", "") | |
call <SID>X("pythonExClass", "66cd66", "", "") | |
call <SID>X("pythonSpaceError", "", "", "") | |
call <SID>X("pythonDocTest", "2f5f49", "", "") | |
call <SID>X("pythonDocTest2", "3b916a", "", "") | |
call <SID>X("pythonFunction", "ee0000", "", "") | |
call <SID>X("pythonClass", "ff0086", "", "") | |
" HTML Highlighting | |
call <SID>X("htmlTag", "00bdec", "", "") | |
call <SID>X("htmlEndTag", "00bdec", "", "") | |
call <SID>X("htmlSpecialTagName", "4aa04a", "", "") | |
call <SID>X("htmlTagName", "4aa04a", "", "") | |
call <SID>X("htmlTagN", "4aa04a", "", "") | |
" Jinja Highlighting | |
call <SID>X("jinjaTagBlock", "ff0007", "fbf4c7", "bold") | |
call <SID>X("jinjaVarBlock", "ff0007", "fbf4c7", "") | |
call <SID>X("jinjaString", "0086d2", "fbf4c7", "") | |
call <SID>X("jinjaNumber", "bf0945", "fbf4c7", "bold") | |
call <SID>X("jinjaStatement", "fb660a", "fbf4c7", "bold") | |
call <SID>X("jinjaComment", "008800", "002300", "italic") | |
call <SID>X("jinjaFilter", "ff0086", "fbf4c7", "") | |
call <SID>X("jinjaRaw", "aaaaaa", "fbf4c7", "") | |
call <SID>X("jinjaOperator", "ffffff", "fbf4c7", "") | |
call <SID>X("jinjaVariable", "92cd35", "fbf4c7", "") | |
call <SID>X("jinjaAttribute", "dd7700", "fbf4c7", "") | |
call <SID>X("jinjaSpecial", "008ffd", "fbf4c7", "") | |
" delete functions {{{ | |
delf <SID>X | |
delf <SID>rgb | |
delf <SID>color | |
delf <SID>rgb_color | |
delf <SID>rgb_level | |
delf <SID>rgb_number | |
delf <SID>grey_color | |
delf <SID>grey_level | |
delf <SID>grey_number | |
" }}} | |
endif | |
" vim: set fdl=0 fdm=marker: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment