set ts=4
set sw=4
" autocmd FileType make setlocal noexpandtab
let mapleader=","
" Tab modes.
map <leader>m <Esc>:set expandtab ts=2 sw=2 sts=2<CR>
map <leader>t <Esc>:set noexpandtab ts=4 sw=4 sts=4<CR>
map <leader>T <Esc>:set expandtab ts=4 sw=4 sts=4<CR>
au FileType python setl sw=4 sts=4 et
au FileType html setl sw=2 sts=2 et
au FileType htmldjango setl sw=2 sts=2 et
au FileType json setl sw=2 sts=2 et
au FileType yaml setl sw=2 sts=2 et
au FileType css setl sw=4 sts=4 et
au FileType lua setl ts=4 sw=4 noet
" Folds:
map <leader>f <Esc>:set fen fdn=3 fdm=indent fml=1 fdc=3<CR>
" H-L for next-prev buffer
nnoremap L :bnext<CR>
nnoremap H :bprev<CR>
set hlsearch
syntax on
set bg=dark
set mouse=a
set number
set relativenumber
filetype plugin indent on
set term=xterm-256color
set cursorline
hi CursorLine cterm=bold ctermbg=0
hi Folded ctermfg=2 ctermbg=0
hi FoldColumn ctermfg=2 ctermbg=0
let g:sclangTerm = "urxvt -e"
autocmd FileType tex setlocal spell spelllang=en
highlight SpellBad ctermfg=red ctermbg=none
let NERDTreeIgnore=['\.o$', '\.cmo$', '\.cmx$', '\.cmi$', '\.lib$', '\.pyc$', '^__pycache__$']
set wildmode=list:longest
au BufRead,BufNewFile *.make set filetype=make
au BufRead,BufNewFile *.md set filetype=markdown
au BufRead,BufNewFile *.lus set filetype=lustre
au BufRead,BufNewFile *.scade set filetype=scade
" Append modeline after last line in buffer.
" Use substitute() instead of printf() to handle '%%s' modeline in LaTeX
" files.
function! AppendModeline()
let l:modeline = printf(" vim: set sts=%d ts=%d sw=%d tw=%d %set :",
\ &softtabstop, &tabstop, &shiftwidth, &textwidth, &expandtab ? '' : 'no')
let l:modeline = substitute(&commentstring, "%s", l:modeline, "")
call append(line("$"), l:modeline)
endfunction
nnoremap <silent> <Leader>ml :call AppendModeline()<CR>
" indentation for long line wraps
set wrap
set linebreak
set breakindent
let &showbreak = '> '
set display+=lastline
" set completeopt=menuone,menu,longest,preview
set directory=~/.vim/swp
set backupdir=~/.vim/backup
set undofile
set undodir=~/.vim/undo