set nocompatible set number relativenumber autoindent set ignorecase smartcase incsearch set hidden nowrap nobackup noswapfile autoread set wildmenu laststatus=2 set encoding=utf8 spelllang=en_us set backspace=2 scrolloff=4 set shiftwidth=4 tabstop=4 set path+=** gp=grep\ -irn filetype plugin indent on syntax enable nnoremap :bnext nnoremap :bprevious nnoremap :buffers:buffer nnoremap :Explore nnoremap :copen " Commenting blocks of code. " https://stackoverflow.com/a/1676672 augroup commenting_blocks_of_code autocmd! autocmd FileType c,cpp,go,scala let b:comment_leader = '// ' autocmd FileType sh,ruby,python let b:comment_leader = '# ' autocmd FileType conf,fstab let b:comment_leader = '# ' autocmd FileType lua,sql let b:comment_leader = '-- ' autocmd FileType vim let b:comment_leader = '" ' augroup END noremap cc :silent s/^/=escape(b:comment_leader,'\/')/:nohlsearch noremap cu :silent s/^\(\s*\)\V=escape(b:comment_leader,'\/')//e:nohlsearch " Personal tabs/spaces settings. autocmd Filetype make,go,sh setlocal noexpandtab tabstop=4 shiftwidth=4 autocmd Filetype c,cpp,lua setlocal expandtab tabstop=4 shiftwidth=4 autocmd Filetype nix,html,javascript,css setlocal expandtab tabstop=2 shiftwidth=2 " Function to auto format source code files. function! Format() if &filetype == 'c' | call system('clang-format -i '.expand('%')) | edit! | endif if &filetype == 'go' | call system('go fmt '.expand('%')) | edit! | endif endfunction command! Format call Format()