aboutsummaryrefslogtreecommitdiff
path: root/vimrc
blob: cc8b50d708e67c4bf340813713f0dc4864afd1fd (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
" for long lines
set wrap

" tab position
set tabstop=4

set autoindent

" autotab
set shiftwidth=4

" syntax highlighting
syntax on

" try to detect filetypes
filetype on

" enable loading indent file for filetype
filetype plugin indent on

" line numbers
set number

" always show status
set laststatus=2

" enable mouse
set mouse=a

" highlight end of line whitespace
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/

set statusline =
" Buffer number
set statusline +=[%n]
" File description
set statusline +=\ %f\ %h%m%r%w
" Filetype
set statusline +=%y
" Name of the current branch (needs fugitive.vim)
set statusline +=\ %{fugitive#statusline()}
" Total number of lines in the file
set statusline +=%=%-10L
" Line, column and percentage
set statusline +=%=%-14.(%l,%c%V%)\ %P

" " spellcheck please!
setlocal spell spelllang=en_gb
hi clear SpellBad
hi SpellBad term=standout ctermfg=1 cterm=bold gui=undercurl guisp=Red

" extra python
"" wrapping and tabs
autocmd FileType python setl ts=4 sw=4 et sta sts=4 ai
"" smart indenting
autocmd FileType python let python_highlight_all = 1
"" extra highlighting
autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class

" syntastic
let g:syntastic_python_checkers = ['pyflakes']
let g:syntastic_go_checkers = ['go', 'golint', 'govet', 'errcheck']
let g:syntastic_scala_scalastyle_jar = '/home/juanmartinez/scala-local/lib/scalastyle_2.12-1.0.0-batch.jar'
let g:syntastic_scala_scalastyle_config_file = '/home/juanmartinez/scala-local/lib/scalastyle_config.xml'
let g:syntastic_scala_checkers = ['fsc', 'scalastyle']
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 0
let g:syntastic_loc_list_height = 5

"" default to passive and manual checks
let g:syntastic_mode_map = { 'mode': 'passive' }

"" vim-autoformat
noremap <C-F5> :Autoformat<CR>

" use local tags if found
set tags=./.tags;
let g:easytags_dynamic_files = 1

" build tags
map <C-F12> :!ctags -R -f ./.tags .<CR>

" enable omnicompletion
set omnifunc=syntaxcomplete#Complete

call pathogen#infect()
call pathogen#helptags()

" looks nice; apparently needs to go after pathogen
set background=dark
let base16colorspace=256  " Access colors present in 256 colorspace
if has('gui_running')
	colorscheme base16-monokai
else
	colorscheme torte
	set nospell
endif

" default is too slow
set updatetime=200