aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Hovorka <[email protected]>2017-07-17 15:48:20 -0600
committerAdam Hovorka <[email protected]>2017-07-17 15:48:20 -0600
commit4d8da43b859e80fdaf005eb71394cac615f75146 (patch)
treebde4c96563f81e0f4d84d882fdea3846e785d31a
parent6299a736717a0ef9f57a5f07fc34d391416477e6 (diff)
Added base16-default-dark colors, .vimrc.local, misc. tweaks
-rw-r--r--base/.vim/colors/base16-default-dark.vim330
-rw-r--r--base/.vimrc44
2 files changed, 359 insertions, 15 deletions
diff --git a/base/.vim/colors/base16-default-dark.vim b/base/.vim/colors/base16-default-dark.vim
new file mode 100644
index 0000000..ea529ec
--- /dev/null
+++ b/base/.vim/colors/base16-default-dark.vim
@@ -0,0 +1,330 @@
+" vi:syntax=vim
+
+" base16-vim (https://github.com/chriskempson/base16-vim)
+" by Chris Kempson (http://chriskempson.com)
+" Default Dark scheme by Chris Kempson (http://chriskempson.com)
+
+" This enables the coresponding base16-shell script to run so that
+" :colorscheme works in terminals supported by base16-shell scripts
+" User must set this variable in .vimrc
+" let g:base16_shell_path=base16-builder/output/shell/
+if !has('gui_running')
+ if exists("g:base16_shell_path")
+ execute "silent !/bin/sh ".g:base16_shell_path."/base16-default-dark.sh"
+ endif
+endif
+
+" GUI color definitions
+let s:gui00 = "181818"
+let s:gui01 = "282828"
+let s:gui02 = "383838"
+let s:gui03 = "585858"
+let s:gui04 = "b8b8b8"
+let s:gui05 = "d8d8d8"
+let s:gui06 = "e8e8e8"
+let s:gui07 = "f8f8f8"
+let s:gui08 = "ab4642"
+let s:gui09 = "dc9656"
+let s:gui0A = "f7ca88"
+let s:gui0B = "a1b56c"
+let s:gui0C = "86c1b9"
+let s:gui0D = "7cafc2"
+let s:gui0E = "ba8baf"
+let s:gui0F = "a16946"
+
+" Terminal color definitions
+let s:cterm00 = "00"
+let s:cterm03 = "08"
+let s:cterm05 = "07"
+let s:cterm07 = "15"
+let s:cterm08 = "01"
+let s:cterm0A = "03"
+let s:cterm0B = "02"
+let s:cterm0C = "06"
+let s:cterm0D = "04"
+let s:cterm0E = "05"
+if exists('base16colorspace') && base16colorspace == "256"
+ let s:cterm01 = "18"
+ let s:cterm02 = "19"
+ let s:cterm04 = "20"
+ let s:cterm06 = "21"
+ let s:cterm09 = "16"
+ let s:cterm0F = "17"
+else
+ let s:cterm01 = "10"
+ let s:cterm02 = "11"
+ let s:cterm04 = "12"
+ let s:cterm06 = "13"
+ let s:cterm09 = "09"
+ let s:cterm0F = "14"
+endif
+
+" Neovim terminal colours
+if has("nvim")
+ let g:terminal_color_0 = "#181818"
+ let g:terminal_color_1 = "#ab4642"
+ let g:terminal_color_2 = "#a1b56c"
+ let g:terminal_color_3 = "#f7ca88"
+ let g:terminal_color_4 = "#7cafc2"
+ let g:terminal_color_5 = "#ba8baf"
+ let g:terminal_color_6 = "#86c1b9"
+ let g:terminal_color_7 = "#d8d8d8"
+ let g:terminal_color_8 = "#585858"
+ let g:terminal_color_9 = "#dc9656"
+ let g:terminal_color_10 = "#282828"
+ let g:terminal_color_11 = "#383838"
+ let g:terminal_color_12 = "#b8b8b8"
+ let g:terminal_color_13 = "#e8e8e8"
+ let g:terminal_color_14 = "#a16946"
+ let g:terminal_color_15 = "#f8f8f8"
+ let g:terminal_color_background = g:terminal_color_0
+ let g:terminal_color_foreground = g:terminal_color_7
+ if &background == "light"
+ let g:terminal_color_background = g:terminal_color_7
+ let g:terminal_color_foreground = g:terminal_color_2
+ endif
+endif
+
+" Theme setup
+hi clear
+syntax reset
+let g:colors_name = "base16-default-dark"
+
+" Highlighting function
+fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
+ if a:guifg != ""
+ exec "hi " . a:group . " guifg=#" . a:guifg
+ endif
+ if a:guibg != ""
+ exec "hi " . a:group . " guibg=#" . a:guibg
+ endif
+ if a:ctermfg != ""
+ exec "hi " . a:group . " ctermfg=" . a:ctermfg
+ endif
+ if a:ctermbg != ""
+ exec "hi " . a:group . " ctermbg=" . a:ctermbg
+ endif
+ if a:attr != ""
+ exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
+ endif
+ if a:guisp != ""
+ exec "hi " . a:group . " guisp=#" . a:guisp
+ endif
+endfun
+
+" Vim editor colors
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("Bold", "", "", "", "", "bold", "")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "")
+call <sid>hi("Italic", "", "", "", "", "none", "")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Search", s:gui03, s:gui0A, s:cterm03, s:cterm0A, "", "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "")
+call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "")
+call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "")
+call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "")
+
+" Standard syntax highlighting
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "")
+call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "")
+call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "")
+
+" C highlighting
+call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "")
+
+" C# highlighting
+call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "")
+
+" Diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "")
+call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "")
+
+" Git highlighting
+call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "")
+call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "")
+call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "")
+call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "")
+
+" GitGutter highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "")
+
+" JavaScript highlighting
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "")
+" pangloss/vim-javascript highlighting
+call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "")
+
+" Mail highlighting
+call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Markdown highlighting
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "")
+
+" PHP highlighting
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "")
+
+" Python highlighting
+call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "")
+
+" Ruby highlighting
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "")
+
+" SASS highlighting
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "")
+
+" Signify highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl", s:gui08)
+call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl", s:gui0C)
+call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl", s:gui0D)
+call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl", s:gui0E)
+
+" Remove functions
+delf <sid>hi
+
+" Remove color variables
+unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F
+unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F
diff --git a/base/.vimrc b/base/.vimrc
index fa798ff..b8e83cc 100644
--- a/base/.vimrc
+++ b/base/.vimrc
@@ -20,13 +20,12 @@ nnoremap ; :
syntax on
filetype plugin indent on
-set t_Co=256 " enable 256-color mode.
+set t_Co=256 " force enable 256-color mode.
if &t_Co >= 256 || has("gui_running")
- "colorscheme mustang
- "colorscheme desert " set colorscheme
+ let base16colorspace=256
+ colorscheme base16-default-dark
endif
if &t_Co > 2 || has("gui_running")
- " switch syntax highlighting on, when the terminal has colors
syntax on
endif
@@ -76,7 +75,7 @@ set visualbell " don't beep
set noerrorbells " don't beep
set list
-set listchars=tab:>.,trail:.,extends:#,nbsp:.
+set listchars=tab:»\ ,extends:›,precedes:‹,nbsp:·,trail:·
"autocmd filetype html,xml set listchars-=tab:>.
set wildmenu
@@ -85,17 +84,14 @@ set wildignore=*.swp,*.bak,*.pyc,*.class
set ttyfast
+hi ColorColumn ctermbg=18
hi Folded ctermbg=0 ctermfg=12
" Stop using arrow keys ====----
-nnoremap <up> <nop>
-nnoremap <down> <nop>
-nnoremap <left> <nop>
-nnoremap <right> <nop>
-inoremap <up> <nop>
-inoremap <down> <nop>
-inoremap <left> <nop>
-inoremap <right> <nop>
+noremap <up> <nop>
+noremap <down> <nop>
+noremap <left> <nop>
+noremap <right> <nop>
" nnoremap j gj
" nnoremap k gk
@@ -128,10 +124,12 @@ set noswapfile " Note: swap helps large files.
" Custom mappings ====----
" Quickly edit/reload the vimrc file
-nnoremap <silent> <leader>ev :e $MYVIMRC<CR>
-nnoremap <silent> <leader>sv :so $MYVIMRC<CR>
+nnoremap <silent> <leader>ve :tabe $MYVIMRC<CR>
+nnoremap <silent> <leader>vs :so $MYVIMRC<CR>
+nnoremap <F2> :set invpaste paste?<CR>
set pastetoggle=<F2>
+set showmode
nnoremap <leader>W :%s/\s\+$//<cr>:let @/=''<CR>
nnoremap <leader>ft Vatzf
@@ -198,6 +196,22 @@ nnoremap <leader>N :call NumberToggle()<cr>
autocmd InsertEnter * :set number
autocmd InsertLeave * :set relativenumber
+" Custom functions ====----
+
+function! SetLocalOptions(fname)
+ let dirname = fnamemodify(a:fname, ":p:h")
+ while "/" != dirname
+ let lvimrc = dirname . "/.vimrc.local"
+ if filereadable(lvimrc)
+ execute "source " . lvimrc
+ break
+ endif
+ let dirname = fnamemodify(dirname, ":p:h:h")
+ endwhile
+endfunction
+
+au BufNewFile,BufRead * call SetLocalOptions(bufname("%"))
+
" To move elsewhere ====----
au BufNewFile,BufRead *.less set filetype=less