let mapleader ="," " show invisibles set fileencoding=utf-8 set list set listchars=tab:→\ ,nbsp:␣,trail:•,precedes:«,extends:» " calendar setup let g:calendar_first_day = 'monday' " set monday as first day of week let g:calendar_week_number = 1 " add weeknumber " leader map w :write " configs below are from LukeSmithxyz/LARBS set title set bg=light set go=a set mouse=a set nohlsearch " clipboard + file name/path yanking set clipboard+=unnamedplus " yank file name nmap yf :let @+ = expand("%") " yank file full path nmap yp :let @+ = expand("%:p") " relative line numbering when leaving insert mode set relativenumber autocmd InsertEnter * :set number norelativenumber autocmd InsertLeave * :set nonumber relativenumber " netrw (dir listing) settings let g:netrw_liststyle = 3 let g:netrw_banner = 0 let g:netrw_browse_split = 3 let g:netrw_winsize = 25 " % of page " Some basics: nnoremap c "_c set nocompatible filetype plugin on syntax on set encoding=utf-8 " Enable autocompletion: set wildmode=longest,list,full " Disables automatic commenting on newline: autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o " Perform dot commands over visual blocks: vnoremap . :normal . " Spell-check set to o, 'o' for 'orthography': map o :setlocal spell! spelllang=en_us " Splits open at the bottom and right, which is non-retarded, unlike vim defaults. set splitbelow splitright " Shortcutting split navigation, saving a keypress: map h map j map k map l " Replace all is aliased to S. nnoremap S :%s//g " Automatically deletes all trailing whitespace and newlines at end of file on save. & reset cursor position autocmd BufWritePre * let currPos = getpos(".") autocmd BufWritePre * %s/\s\+$//e autocmd BufWritePre * %s/\n\+\%$//e autocmd BufWritePre *.[ch] %s/\%$/\r/e autocmd BufWritePre * cal cursor(currPos[1], currPos[2])