" options {{{ set shiftwidth=4 set expandtab " }}} " hooks {{{ augroup vimrc autocmd! augroup END " }}} " bindings {{{ " general {{{ let g:mapleader = ';' let g:maplocalleader = ';' " }}} " M to :make {{{ noremap M :makek " }}} " F11 for spell checking {{{ noremap &spell ? ":\setlocal nospell\" : ":\setlocal spell\" inoremap &spell ? "\:setlocal nospell\" : "\:setlocal spell\" " }}} " editing binary files {{{ nnoremap :%!xxd nnoremap :%!xxd -r " }}} " easier tag traversal {{{ nnoremap nnoremap autocmd vimrc CmdWinEnter * nnoremap " }}} " buffer switching {{{ nnoremap H :bp nnoremap L :bn " }}} " use tab for completion {{{ inoremap \ strpart(getline('.'), 0, col('.') - 1) =~ '\(^\\|\s\+\)$' \ ? "\" \ : "\" inoremap " }}} " fixups for my keyboard remappings {{{ nmap ) 0 nmap g) g0 nmap \ " }}} " miscellaneous {{{ nnoremap e c nnoremap E C nnoremap r nnoremap , : xnoremap , : nnoremap ! :! xnoremap ! :! autocmd vimrc BufEnter * exe "nnoremap T :e " . expand('%') nnoremap / :nohl nnoremap :w nnoremap \ :q nnoremap :bd " }}} " }}} " plugin configuration {{{ " ale {{{ let g:ale_lint_on_text_changed = 'normal' let g:ale_lint_on_insert_leave = 1 let g:ale_history_enabled = 0 let g:ale_history_log_output = 0 " }}} " airline " commentary {{{ map x :Commentary " }}} " denite {{{ autocmd vimrc VimEnter * call denite#custom#map('insert', '', '') autocmd vimrc VimEnter * call denite#custom#map('insert', '', '') autocmd vimrc VimEnter * call denite#custom#source('line', 'sorters', []) if executable('ag') autocmd vimrc VimEnter * call denite#custom#var('file_rec', 'command', ['ag', '--hidden', '-l', '.']) autocmd vimrc VimEnter * call denite#custom#var('grep', 'command', ['ag']) autocmd vimrc VimEnter * call denite#custom#var('grep', 'default_opts', ['--hidden']) autocmd vimrc VimEnter * call denite#custom#var('grep', 'recursive_opts', []) autocmd vimrc VimEnter * call denite#custom#var('grep', 'pattern_opt', []) autocmd vimrc VimEnter * call denite#custom#var('grep', 'separator', []) endif nnoremap t :Denite -direction=dynamictop buffer file_rec nnoremap b :Denite -direction=dynamictop buffer nnoremap ff :Denite -direction=dynamictop grep:.::! nnoremap fh :Denite -direction=dynamictop help nnoremap ft :Denite -direction=dynamictop filetype nnoremap f/ :Denite -direction=dynamictop line " }}} " gundo {{{ if has("python") nnoremap U :silent GundoToggle let g:gundo_help = 0 let g:gundo_preview_bottom = 1 else let g:gundo_disable = 1 endif " }}} " matchit {{{ packadd! matchit " }}} " multiple-cursors " neosnippet {{{ let g:neosnippet#snippets_directory = '~/.vim/snippets' let g:neosnippet#disable_runtime_snippets = { '_' : 1 } function! s:configure_neosnippet_tab_mappings() let g:neosnippet_tab_override_i_tab = maparg("", "i", 0, 1) let g:neosnippet_tab_override_i_stab = maparg("", "i", 0, 1) let g:neosnippet_tab_override_s_tab = maparg("", "s", 0, 1) imap \ neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" : \ g:neosnippet_tab_override_i_tab["expr"] \ ? eval(g:neosnippet_tab_override_i_tab["rhs"]) \ : g:neosnippet_tab_override_i_tab["rhs"] imap \ neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" : \ g:neosnippet_tab_override_i_stab["expr"] \ ? eval(g:neosnippet_tab_override_i_stab["rhs"]) \ : g:neosnippet_tab_override_i_stab["rhs"] smap \ neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" : \ g:neosnippet_tab_override_s_tab["expr"] \ ? eval(g:neosnippet_tab_override_s_tab["rhs"]) \ : g:neosnippet_tab_override_s_tab["rhs"] endfunction autocmd vimrc VimEnter * call configure_neosnippet_tab_mappings() " }}} " rainbow {{{ let g:rainbow_active = 1 let g:rainbow_conf = { \ 'ctermfgs': [ \ 'darkred', \ 'darkmagenta', \ 'darkblue', \ 'darkyellow', \ 'darkgreen', \ 'darkcyan', \ ], \ 'guitermfgs': [ \ 'red', \ 'magenta', \ 'blue', \ 'yellow', \ 'green', \ 'cyan', \ ], \} " }}} " startify {{{ let g:startify_list_order = ['dir', 'bookmarks', 'commands'] let g:startify_files_number = 7 let g:startify_commands = [ \ {'t': ['Open file', 'Denite -direction=dynamictop buffer file_rec']}, \ {'ff': ['Grep', 'Denite -direction=dynamictop grep:.::!']}, \ {'fh': ['Help', 'Denite -direction=dynamictop help']}, \ ] let g:startify_change_to_vcs_root = 1 let g:startify_custom_indices = [ \'!', '@', '#', '$', '%', '^', '&', '*', '(', ')' \] let g:startify_custom_header = [] let s:fortune = system('fortune -n200 -s ~/.fortune | grep -v -E "^$"') let g:startify_custom_footer = [''] + map(split(s:fortune, '\n'), '" ".v:val') " }}} " textobj {{{ let g:Textobj_defs = [ \['/', 'Textobj_paired', '/'], \['\|', 'Textobj_paired', '\|'], \] " }}} " }}} " vim: fdm=marker