Skip to content

Instantly share code, notes, and snippets.

@Zia-
Created September 12, 2016 20:38
Show Gist options
  • Save Zia-/819e77452aac4986b9acc10487234b57 to your computer and use it in GitHub Desktop.
Save Zia-/819e77452aac4986b9acc10487234b57 to your computer and use it in GitHub Desktop.
"======== 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