summaryrefslogtreecommitdiff
path: root/vim/.vimrc
blob: 5506666ae79b600fa7a1947e8a06eeaec0e4dc6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
" in case there were any doubt about this being classic vi
set nocompatible

" load bundles under ~/.vim/bundle/*
execute pathogen#infect()

" utf8. always utf8.
set fileencoding=utf8
set fileencodings=utf8

" these seem reasonable
filetype plugin on
set tabstop=4
set softtabstop=4
set shiftwidth=4

" display of whitespace characters
set showbreak=\ ↪
set list listchars=tab:»\ ,space:∙,nbsp:•,extends:>,precedes:<

" display list of options when performing tab completion
set wildmenu

" color settings
set background=dark
let g:gruvbox_contrast_dark='hard'
let g:airline_theme='cool'
colorscheme gruvbox
syntax on

" remove trailing whitespace when saving
function StripTrailingWhitespace()
	if !&binary && &filetype != 'diff'
		normal mz
		normal Hmy
		%s/\s\+$//e
		normal 'yz<CR>
		normal `z
	endif
endfunction

autocmd BufWritePre * :call StripTrailingWhitespace()

" display absolute line number for current line, relative offsets for other lines
set number relativenumber

" ===== BUNDLE CONFIGURATION =====

" ctrlp.vim:
let g:ctrlp_map='<c-p>'   "display fuzzy buffer search on ^P

" tabular:
" align equals on 'a=', comma on 'a,'
nnoremap a= :Tabularize /=<cr>
nnoremap a, :Tabularize /,/r0l1<cr>

" airline
set laststatus=2                     " display status line even with no splits
let g:netrw_dirhistmax=0             " without this, it likes to create ~/.vim/.netrwhist