" Plugins for review: " 'msanders/snipmate.vim' " 'godlygeek/tabular' " 'plasticboy/vim-markdown' " Consider using sections like this: " Section Name {{{ " set number "This will be folded " }}} runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect() execute pathogen#helptags() set nocompatible " Be iMproved let mapleader="," " set leader early as otherwise it wouldn't work filetype plugin indent on " ========== general settings ========== set encoding=utf-8 set ff=unix set number set clipboard=unnamedplus set showmatch " show matching brackets set incsearch " Find as you type search set hlsearch " Highlight search terms set ignorecase " Case-insensitive searching. set smartcase " But case-sensitive if expression contains a capital letter. set history=10000 " remember more commands and search history set undolevels=10000 " use many levels of undo set nobackup set noswapfile set tabstop=8 set shiftwidth=8 set textwidth=80 set cc=81 "set expandtab syntax enable set background=dark colorscheme distinguished set list set listchars=tab:>-,trail:~ set lazyredraw set wildmenu set relativenumber set wildignore+=*.a,*.o,*.class set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png set wildignore+=.DS_Store,.git,.hg,.svn set wildignore+=*~,*.swp,*.tmp " jk is escape inoremap jk augroup reload_vimrc " { autocmd! autocmd BufWritePost $MYVIMRC source $MYVIMRC augroup END " } " switch buffers with space! nnoremap :call SwitchBuffer() function! SwitchBuffer() exe "ls" let c = nr2char(getchar()) exe "b " . c redraw endfunction map 1 :diffget LO:diffupdate map 2 :diffget BA:diffupdate map 3 :diffget RE:diffupdate map Q @ map :bprevious map m :bnext " map F5 to removing trailing whitespace nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s " save file with root permissions cmap w!! w !sudo tee % >/dev/null " turn off search highlight nnoremap :nohlsearch " ========== file specific settings ========== " Markdown autocmd BufRead,BufNew *.md set filetype=markdown " java au BufNewFile,BufRead *.java set tabstop=4 softtabstop=4 shiftwidth=4 smarttab autoindent cc=121 " PKGBUILD autocmd BufRead,BufNew PKGBUILD set filetype=sh " ========== plugin settings ========== " airline set laststatus=2 let g:airline_theme = 'powerlineish' let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#fnamemod = ':t' " only enable trailing whitespace checking let g:airline#extensions#whitespace#checks = [ 'trailing' ] let g:airline#extensions#wordcount#enabled = 0 " extremely slow on bigger files " ALE let g:ale_linters = {'text': ['proselint', 'vale']} nmap (ale_previous_wrap) nmap (ale_next_wrap) " Start interactive EasyAlign in visual mode (e.g. vip) vmap (EasyAlign) " Start interactive EasyAlign for a motion/text object (e.g. gaip) nmap ga (EasyAlign) " toggle gundo nnoremap u :GundoToggle " ctrlp let g:ctrlp_max_files = 1000000 let g:ctrlp_cmd = 'CtrlPMixed' " supertab let g:SuperTabDefaultCompletionType = "context" " javacomplete2 autocmd FileType java setlocal omnifunc=javacomplete#Complete nmap (JavaComplete-Imports-AddSmart) nmap (JavaComplete-Imports-AddMissing) nmap (JavaComplete-Imports-RemoveUnused) " Automatically import nmap ai (JavaComplete-Imports-AddMissing) " markdown let g:vim_markdown_math = 1 " html let g:ale_linters = { \ 'html': ['htmlhint', 'tidy'], \} " hexmode let g:hexmode_patterns = '*.bin,*.exe,*.dat,*.rom'