set nocompatible " iMproved only, no vi compatibility set sessionoptions-=options " stop sessions from messing with 'runtimepath' " Load plugins with Pathogen execute pathogen#infect('bundle/{}', '~/.config/vim/bundle/{}') syntax on filetype plugin indent on " get defaults "source $VIMRUNTIME/defaults.vim set backspace=indent,eol,start set incsearch set scrolloff=1000 " Center cursor, unless near edge " other usability enhancements set backupdir=~/.config/vim/backup/,. set directory=~/.config/vim/swp/,. set undodir=~/.config/vim/undo/,. " Colorize and theme set t_Co=16 let g:gruvbox_contrast_dark="hard" let g:gruvbox_italic=1 let g:gruvbox_bold=1 let g:gruvbox_underline=1 let g:gruvbox_undercurl=1 let g:gruvbox_termcolors=256 set background=dark colorscheme gruvbox " autocmd vimenter * colorscheme gruvbox "autocmd vimenter * colorscheme gruvbox "theme autoload/airline/themes/gruvbox.vim " colorscheme autoload/lightline/colorscheme/gruvbox.vim " colorscheme base16-gruvbox-dark-hard set ttyfast set termguicolors set laststatus=2 set guioptions-=e set encoding=utf-8 set autoread set autoindent set hlsearch set number set noswapfile set title syn on se title set ts=4 set softtabstop=4 set shiftwidth=4 set expandtab " Show tabs and trailing spaces set list listchars=tab:»\ ,trail:· set spelllang=en_ca " Strip whitespace on save fun! StripTrailingWhitespaces() " Preparation: save last search, and cursor position. let _s=@/ let l = line(".") let c = col(".") " Do the business: %s/\s\+$//e " Clean up: restore previous search history, and cursor position let @/=_s call cursor(l, c) endfun "command -nargs=0 Stripwhitespace :call StripTrailingWhitespaces() " Fix indentation in file map i mmgg=G`m " Toggle highlighting of search results nnoremap :nohlsearch " Unsmart Quotes nnoremap guq :%s/\v[“”]/"/g if has("autocmd") " StripTrailingWhitespaces " TODO: autocmd BufWritePre * DeleteTrailingWhitespace " To spell check all git commit messages au BufNewFile,BufRead COMMIT_EDITMSG set spell nonumber nolist wrap linebreak " Set filetype tab settings autocmd FileType python,doctest set ai ts=4 sw=4 sts=4 et autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif endif " 100 characters line set colorcolumn=101 "execute "set colorcolumn=" . join(range(101,335), ',') highlight ColorColumn ctermbg=Black ctermfg=DarkRed " Highlight trailing spaces " http://vim.wikia.com/wiki/Highlight_unwanted_spaces highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@