set nocompatible                " choose no compatibility with legacy vi
syntax on
set encoding=utf-8
set showcmd                     " display incomplete commands
filetype plugin indent on       " load file type plugins + indentation

"" Whitespace
set nowrap                      " don't wrap lines
set tabstop=4 shiftwidth=4      " a tab is 4 spaces
set expandtab                   " use spaces, not tabs
set backspace=indent,eol,start  " backspace through everything in insert mode
autocmd BufWritePre * :%s/\s\+$//e " Trim whitespace on file save

"" Searching
set hlsearch                    " highlight matches
set incsearch                   " incremental searching
set ignorecase                  " searches are case insensitive...
set smartcase                   " ... unless they contain at least one capital letter

"" Code Editing Stuff
set number
""set cursorline

"" Copy and paste
vnoremap <C-c> "+y
map <C-p> "+P

"" Misc
set mouse=a
set ttyfast
set backupdir=~/.cache/vim
colorscheme vim