set encoding=utf-8 setlocal spell spelllang=en_us set nospell set expandtab " spaces over tabs for indentation set tabstop=2 " 2 spaces char for tabs set softtabstop=2 " 2 space for tabs set shiftwidth=2 " shift equally to indentation set autoindent " always indent set viminfo="" set hlsearch " highlight search set incsearch " incrementally move to match and highlight set ignorecase smartcase " case insensitive search if there are no capital letters set autochdir " change current directory to file in viewed buffer's set autoread " automatically re-read unmodified buffer on file change set laststatus=2 let &statusline = '[%n] %<%F %m%r%w%y%=' let &statusline .= ' (%l,%c) %P of %L' set hidden " don't close but hide the buffer when dismissed set shortmess=a " a=all, use all abbrv possible in messages set showcmd " show last command set wildmenu wildmode=list:longest set list listchars=tab:»‧,trail:░,precedes:◄,extends:►,nbsp:‧ " Enable file type detection with loading plugins & indent by file type. filetype plugin indent on if has('autocmd') augroup filetype autocmd! " Indentation autocmd FileType gitcommit setlocal spell autocmd FileType gitconfig setlocal nolist noet sts=0 sw=0 autocmd FileType go setlocal nolist noet sts=0 sw=0 autocmd FileType make setlocal nolist noet ts=4 sts=0 sw=0 autocmd FileType python setlocal sts=2 sw=2 autocmd FileType vim setlocal keywordprg=:help " Maps autocmd FileType help nnoremap q :q augroup END " Do not show trailing space markers in insert mode. augroup listchars autocmd! autocmd InsertEnter * if &list | set listchars-=trail:░ | endif autocmd InsertLeave * if &list | set listchars+=trail:░ | endif augroup END endif