" Syntax " {{{ filetype plugin indent on syntax enable syntax sync maxlines=100 set synmaxcol=200 augroup customft autocmd! autocmd BufNewFile,BufRead *.vim* set filetype=vim augroup END " }}} " Options " {{{ set expandtab set shiftwidth=4 set tabstop=4 set foldlevel=99 set encoding=utf-8 set number set showmatch set matchtime=2 set hlsearch set incsearch set laststatus=2 set nojoinspaces set backspace= " set splitbelow " }}} " Globals " {{{ let g:tex_fold_enabled = 1 let g:javaScript_fold = 1 " }}} " Gui stuff " {{{ set guicursor=n-v-i-c:block-Cursor set guicursor+=n-v-i-c:blinkon0 set guioptions= set mouse=c set langmenu=en_US.UTF-8 " }}} " Tagbar stuff " {{{ let g:tagbar_autofocus = 1 " }}} " LatexBox stuff " {{{ let g:LatexBox_no_mappings = 1 let g:LatexBox_quickfix = 2 let g:LatexBox_build_dir = 'build' let g:LatexBox_latexmk_options = '-xelatex -outdir=build' " }}} " YouCompleteMe stuff " {{{ set completeopt-=preview let g:ycm_autoclose_preview_window_after_completion = 0 let g:ycm_filetype_blacklist = { \ 'tex': 1, \ 'markdown': 1, \ 'text': 1 \ } set shortmess+=c " }}} " Syntastic Stuff " {{{ let g:syntastic_mode_map = {'mode': 'passive'} " let g:syntastic_aggregate_errors = 1 " }}} " Coding style " {{{ augroup badstyle autocmd! autocmd BufWinEnter * call clearmatches() autocmd BufWinEnter * let w:m1 = matchadd('Unstylish', '\%81v.') autocmd BufWinEnter * if &ft != 'make' && &ft != 'gitcommit' \ && &ft != 'help' \ | let w:m2 = matchadd('Unstylish', '\t') | endif augroup END augroup trailingwhite autocmd! autocmd BufWinEnter,InsertLeave * if &ft != 'markdown' \ | match TrailingWhite '\v\s+$' | endif autocmd InsertEnter * match TrailingWhite '' augroup END augroup prose autocmd! autocmd FileType tex,text,markdown \ setlocal spell spelllang=en_us textwidth=80 augroup END " }}} " Mappings " {{{ let mapleader = "," let maplocalleader = " " nnoremap q nnoremap Q nnoremap qn :nohl nnoremap ql :lclose nnoremap qq :cclose nnoremap qp :pclose nnoremap qh :helpclose nnoremap qN :NERDTreeClose nnoremap qT :TagbarClose if has('win32') let my_settings_file = "$HOME/vimfiles/plugin/settings.vim" else let my_settings_file = "$HOME/.vim/plugin/settings.vim" endif nnoremap c mc:CommenseComment`c:delm c nnoremap xc mc:CommenseUncomment`c:delm c vnoremap c :CommenseComment vnoremap xc :CommenseUncomment vnoremap b :CommenseBlock nnoremap xb mc:CommenseUnblock`c:delm c nnoremap sl :pedit $MYVIMRC nnoremap ss :execute 'pedit' my_settings_file nnoremap sv :source $MYVIMRC:execute 'source' my_settings_file nnoremap st :source % nnoremap k nnoremap j nnoremap h nnoremap l nnoremap se :syntax enable nnoremap so :syntax off nnoremap fl mf081lFr`f:delm f vnoremap " `>a"` vnoremap "+y nnoremap "+p inoremap "+p " }}} " Mappings for Plugins " {{{ nnoremap N :NERDTree nnoremap ] :YcmCompleter GoTo nnoremap ye :YcmShowDetailedDiagnostic nnoremap yf :YcmCompleter FixIt:ccl nnoremap yd :YcmDiags nnoremap sd :SyntasticSetLoclist:lopen nnoremap sc :w:SyntasticCheck nnoremap sr :SyntasticReset nnoremap T :TagbarToggle " }}} " Abbreviations " {{{ iabbrev rr return iabbrev itt import cabbrev w!! w !sudo tee > /dev/null % " }}}