forked from anishathalye/dotfiles_template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjons_vimrc
202 lines (152 loc) · 4.62 KB
/
jons_vimrc
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
execute pathogen#infect()
syntax on
filetype plugin indent on
let mapleader=","
let maplocalleader=","
set number
set tags+=/usr/local/share/ctags/qt4
set mouse=a
filetype indent on
set shiftwidth=4
set ts=4
set expandtab
set splitright
set hlsearch
" spelling errors
iabbrev qutoe quote
iabbrev reposne response
" fast escape
inoremap jk <esc>
" uppercase word
inoremap <c-u> <esc>vbU
" switch between .h/.cpp
nnoremap <leader>a :A<CR>
" tab complete
inoremap <tab> <c-n>
" vimrc controls
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>
" fast make
nnoremap <leader>m :wa<cr> :Make<cr>
nnoremap <leader>mm :wa<cr> :make -j12<cr>
nnoremap <leader>mc :wa<cr> :make check -j12<cr>
" toggle ninja
nnoremap <leader>n :set makeprg=/spot/dev/3rdParty/cpp/misc/ninja/ninja-1.5.1/gcc-4.9.1/bin/ninja\ -C\ out/Release\ all<cr>
nnoremap <leader>d :set makeprg=/spot/dev/3rdParty/cpp/misc/ninja/ninja-1.5.1/gcc-4.9.1/bin/ninja\ -C\ out/Debug\ all<cr>
nnoremap <leader>N :set makeprg=make<cr>
" swap lines
nnoremap _ ddkP
nnoremap - ddp
" swap words
nnoremap <leader>s- dwwP
" fast semicolon
nnoremap <leader>; mqA;<esc>`q
" fast split screen navigation
nnoremap <c-w><c-w> iNOPENOPENOPENOPE<esc>
nnoremap <c-j> <c-w><c-j>
nnoremap <c-k> <c-w><c-k>
nnoremap <c-l> <c-w><c-l>
nnoremap <c-h> <c-w><c-h>
" highlight tabs
nnoremap <leader>t :match Error #\t#<cr>
nnoremap <leader>T :match<cr>
" fast folding
nnoremap <leader>z za
" ack last searched string @todo
"nnoremap <leader>A y:Ack "@/"<cr>
" fast comments
augroup filetype_comments
autocmd BufNewFile,BufRead *.cpp,*.h nnoremap <buffer> <localleader>c I//<esc>
" autocmd BufNewFile,BufRead *.cpp,*.h vnoremap <buffer> <localleader>* <esc>`<i/*<esc>`>a*/<esc>
augroup END
augroup filetype_comments
autocmd BufNewFile,BufRead *.cpp,*.h,*.xml set foldmethod=syntax
autocmd BufNewFile,BufRead *.* normal zR
augroup END
function! SetNinja()
if !empty(glob("*.gyp"))
set makeprg=/spot/dev/3rdParty/cpp/misc/ninja/ninja-v1.4.0/gcc-4.7.3/bin/ninja\ -C\ out/Release\ all
endif
endfunction
function! SetHegemonSettings()
if !empty(glob("hegemon.gyp"))
set shiftwidth=2
set ts=2
endif
endfunction
augroup filetype_make
autocmd BufNewFile,BufRead *.cpp,*.h call SetNinja()
autocmd BufNewFile,BufRead *.cpp,*.h call SetHegemonSettings()
augroup END
nnoremap <leader>R :!./run_tests.sh
" operator parens, brackets, quotes
onoremap p i(
onoremap b i{
onoremap ' i'
onoremap " i"
onoremap np :<c-u>normal! f(vi(<cr>
" replace selected text
vnoremap <leader>r y:%s/<c-r>"/
highlight Pmenu ctermfg=1 ctermbg=white guibg=grey30
augroup filetype
au! BufRead,BufNewFile *.proto setfiletype proto
augroup end
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
"match OverLength /\%81v.\+/
let g:clang_exec = "~/build/Debug+Asserts/bin/clang"
let g:clang_diagsopt = "b:rightbelow:6"
let g:clang_library_path = "/home/jon.woolwine/linux/build/Debug+Asserts/lib/libclang.so"
set ls=2
set foldmethod=manual
set runtimepath^=~/.vim/bundle/ctrlp.vim-master
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_working_path_mode = 'ra'
let g:pep8_map = '<leader>8'
set wildignore+=*.o,*/out/*
let g:LargeFile = 1024 * 1024 * 10
augroup LargeFile
autocmd BufReadPre * let f=expand("<afile>") | if getfsize(f) > g:LargeFile | set eventignore+=FileType | setlocal noswapfile bufhidden=unload buftype=nowrite undolevels=-1 | else | set eventignore-=FileType | endif
augroup END
let g:ycm_filetype_blacklist = {
\ 'tagbar' : 1,
\ 'qf' : 1,
\ 'notes' : 1,
\ 'markdown' : 1,
\ 'text' : 1,
\ 'vimwiki' : 1,
\ 'pandoc' : 1,
\ 'infolog' : 1,
\ 'mail' : 1,
\ 'cpp' : 1,
\}
let g:ycm_confirm_extra_conf = 0
let g:ycm_allow_changing_updatetime = 0
let g:ycm_server_use_vim_stdout = 0
let g:ycm_server_keep_logfile = 1
let g:ycm_path_to_python_interpreter = '/opt/python-2.7.3/bin/python'
let g:ycm_server_log_level = 'debug'
let g:ycm_goto_buffer_command = 'vertical-split'
let g:ycm_autoclose_preview_window_after_completion = 1
map <F12> :YcmCompleter GoToImprecise<CR>
"toggle autocomplete
map <leader>o :call ToggleAutoComplete()<CR>
function! ToggleAutoComplete()
if g:ycm_auto_trigger
let g:ycm_auto_trigger = 0
else
let g:ycm_auto_trigger = 1
endif
endfunction
let g:ConqueGdb_GdbExe = '/spot/dev/3rdParty/cpp/gnu/gcc/gcc-4.9.1/bin/gdb'
nnoremap <leader>C :call ColorToggle()<cr>
let g:desert_on = 0
function! ColorToggle()
if g:desert_on
color delek
let g:desert_on = 0
else
color desert
let g:desert_on = 1
endif
endfunction