summaryrefslogtreecommitdiff
path: root/solanum/dot_vimrc
blob: be17b3b316b8beef9e6a45d977cf13e70a399bf8 (plain) (blame)
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
source /usr/share/vim/vim82/defaults.vim
source /etc/vimrc

let NERDTreeIgnore=['\.o$', '\.cmo$', '\.cmx$', '\.cmi$', '\.lib$', '\.pyc$', '^__pycache__$', '\.class$']

set exrc
set hlsearch

set number
set relativenumber

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>

" FZF bindings
" map <leader>f <Esc>:FZF<CR>
map ; <Esc>:FZF<CR>

map <leader>l <Esc>:ALENextWrap<CR>

" 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>

filetype plugin indent on
set autoindent
set smartindent
set ts=4 sw=4

" indentation for long line wraps
set wrap
set linebreak
set breakindent
let &showbreak = '>   '

set bg=dark

au FileType make setl noexpandtab
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 javascript 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
au FileType trema setl ts=2 sts=2 et
au FileType trema setl ts=2 sts=2 et
au FileType typescript.tsx setl ts=2 sts=2 et