Updates to mirror new repository structure.
[james-home-etc.git] / .vimrc
blobe86c1572bcb992dfd038a0f21ccdb455b19c9393
1 set nocompatible
2 set ruler
3 filetype plugin indent on
4 set bg=dark
5 set history=1000
6 set laststatus=2
7 set listchars=tab:>-
8 set scrolloff=4
9 set shortmess+=I
10 set showcmd
11 set wildmode=longest,list,full
12 syn on
14 set expandtab
15 set shiftwidth=4
16 set softtabstop=4
17 function Spaces(...)
18     if a:0 == 1
19         let l:width = a:1
20     else
21         let l:width = 4
22     endif
23     setlocal expandtab
24     let &l:shiftwidth = l:width
25     let &l:softtabstop = l:width
26 endfunction
27 command! T setlocal noexpandtab shiftwidth=8 softtabstop=0
28 command! -nargs=? S call Spaces(<args>)
29 autocmd BufNewFile,BufRead */linux-2.6/* T
30 autocmd FileType html S 2
32 if &term == "xterm"
33     let &t_ti = &t_ti . "\e[?2004h"
34     let &t_te = "\e[?2004l" . &t_te
35     function XTermPasteBegin(ret)
36         set pastetoggle=<Esc>[201~
37         set paste
38         return a:ret
39     endfunction
40     map <expr> <Esc>[200~ XTermPasteBegin("i")
41     imap <expr> <Esc>[200~ XTermPasteBegin("")
42 endif
44 let g:debchangelog_fold_enable = 1
45 let g:debcontrol_fold_enable = 1
46 let g:jxml_syntax_folding = 1
47 au FileType xml setlocal foldmethod=syntax
49 hi link localWhitespaceError Error
50 au Syntax * syn match localWhitespaceError /\(\zs\%#\|\s\)\+$/ display
51 au Syntax * syn match localWhitespaceError / \+\ze\t/ display
53 function! s:headertemplate(name)
54     let guard=toupper(substitute(substitute(a:name, '[^[:alnum:]]', '_', 'g'), '^[^[:alpha:]]', '_&', ''))
55     return "#ifndef " . guard . "\n#define " . guard . "\n\n\n\n#endif /* " . guard . " */"
56 endfunction
57 au BufNewFile *.h s@^$@\=s:headertemplate(expand('<afile>'))@ | 4
59 iabbrev jj Josh Triplett and Jamey Sharp
60 iabbrev cjj Commit by Josh Triplett and Jamey Sharp
62 augroup mkd
63   autocmd BufRead *.mkd set ai wrapmargin=10 spell formatoptions=tcroqn2 comments=n:>;
64 augroup END