-
Notifications
You must be signed in to change notification settings - Fork 0
/
dotvimrc
119 lines (101 loc) · 3.24 KB
/
dotvimrc
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
" This entire file is a mess, please don't think it is indicative of anything else I work on.
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
"set rtp+=~/etc/wittekm-vim/.vim/bundle/vundle
call vundle#begin('~/etc/wittekm-vim/plugins')
""""" Bundles
Plugin 'gmarik/Vundle.vim'
Plugin 'FSwitch'
Plugin 'Tabular'
Plugin 'Solarized'
Plugin 'The-NERD-tree'
Plugin 'The-NERD-Commenter'
Plugin 'AddIfndefGuard'
Plugin 'vim-surround'
Plugin 'csv.vim'
Plugin 'fugitive.vim'
Plugin 'Syntastic'
"Plugin 'vim-symbols-strings' overrides <Leader>g
Plugin 'rename.vim'
Plugin 'java_getset.vim'
""""" Language support
Plugin 'Cpp11-Syntax-Support'
Plugin 'vim-coffee-script'
Plugin 'sass'
Plugin 'vim-ruby/vim-ruby'
Plugin 'rails.vim'
Plugin 'repos-scala/scala-vundle'
Plugin 'klen/python-mode'
Plugin 'leafgarland/typescript-vim'
Plugin 'rust-lang/rust.vim'
call vundle#end()
filetype plugin indent on
syntax enable
set number
""""" Bundle settings
let g:NERDTreeWinSize = 20
let NERDTreeIgnore = ['\.pyc$', '\.o$']
""""" Color and syntax
set background=dark
" So the colors work right on my vm at work
if (match(system("hostname"), "wimax.desktop.amazon.com") != -1)
let g:solarized_termcolors=16
set gfn=Inconsolata-dz\ 10
else
let g:solarized_termcolors=256
set gfn=DejaVu\ Sans\ Mono:h12
endif
colorscheme solarized
filetype plugin indent on
"set gfn=Andale\ Mono:h14
"""" Keyboard shortcuts
autocmd VimEnter * nmap <F3> :NERDTreeToggle<CR>
autocmd VimEnter * imap <F3> <Esc>:NERDTreeToggle<CR>a
let NERDTreeQuitOnOpen=1
let NERDTreeWinSize=35
" rip my tag stack. forever in our hearts
nnoremap <C-t> :tabnew<CR>
inoremap <C-t> <Esc>:tabnew<CR>
" this is bad since C-w is actually useful
nnoremap <C-w><C-w> :tabclose<CR>
inoremap <C-w><C-w> :tabclose<CR>
" strong no hire
nmap <C-h> :vimgrep // **/*<left><left><left><left><left><left>
""""" Tabs!
set expandtab
set tabstop=4
set shiftwidth=4
autocmd Filetype ruby setlocal ts=2 sts=2 sw=2 expandtab
autocmd Filetype eruby setlocal ts=2 sts=2 sw=2 expandtab
autocmd Filetype scala setlocal ts=2 sts=2 sw=2 expandtab
autocmd Filetype typescript setlocal ts=2 sts=2 sw=2 expandtab
set wrap textwidth=0
"""" PyMode customization
let g:pymode_folding = 0
let g:pymode_lint = 0
let g:pymode_rope = 0
"""" TODO: Eventually add support for whatever Arc Lint does
""""" Custom commands
command BS BundleSearch
let g:editvimrc = 'e '.dotvim."/dotvimrc"
command Vimrc exec g:editvimrc
command VimrcSource source ~/.vimrc
command PwdHere exec "cd %:p:h"
command Guard call AddIfndefGuard()
command SaveSesh mksession! ~/etc/wittekm-vim/vim_session.vim
command LoadSesh source ~/etc/wittekm-vim/vim_session.vim
if (match(system("hostname"), "wimax.desktop.amazon.com") != -1)
command P4Add exec "cd %:p:h | exec '!p4 add '.expand('%:t')"
endif
""""" Syntax stuff
au BufRead,BufNewFile *.cpp set syntax=cpp11
au BufRead,BufNewFile *.haml set filetype=ruby
autocmd BufNewFile,BufRead *.html.erb set filetype=eruby
au BufRead,BufNewFile *.scss set filetype=scss
au BufRead,BufNewFile *.ts set filetype=typescript
" augroup NO_CURSOR_MOVE_ON_FOCUS
" au !
" au FocusLost * let g:oldmouse=&mouse | set mouse=
" au FocusGained * if exists('g:oldmouse') | let &mouse=g:oldmouse | unlet g:oldmouse | endif
" augroup END