.vimrc

changeset 1
727a469263f2
child 7
7e6e6ff35c4d
equal deleted inserted replaced
0:5346d22cd9a9 1:727a469263f2
1 set nocompatible
2
3 " call pathogen#infect()
4 " call pathogen#helptags()
5
6 " Setting up Vundle - the vim plugin bundler
7 let has_vundle=1
8 let vundle_readme=expand('~/.vim/bundle/vundle/README.md')
9 if !filereadable(vundle_readme)
10 let has_vundle=0
11 echo "Installing Vundle.."
12 echo ""
13 silent !mkdir -p ~/.vim/bundle
14 silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle
15 endif
16
17 set rtp+=~/.vim/bundle/vundle/
18 call vundle#rc()
19 Plugin 'gmarik/vundle'
20
21 Plugin 'altercation/vim-colors-solarized'
22 Plugin 'bling/vim-airline'
23
24 Plugin 'Shougo/vimproc.vim'
25 Plugin 'Shougo/unite.vim'
26 Plugin 'Shougo/vimshell.vim'
27 Plugin 'sjl/gundo.vim'
28 Plugin 'majutsushi/tagbar'
29 Plugin 'godlygeek/tabular'
30 Plugin 'tomtom/tcomment_vim'
31
32 Plugin 'danchoi/ri.vim'
33 Plugin 'tpope/vim-fugitive'
34 Plugin 'ludovicchabant/vim-lawrencium'
35
36 if has_vundle == 0
37 echo "Installing Plugins, please ignore key map error messages"
38 echo ""
39 :PluginInstall
40 endif
41 " Setting up Vundle - the vim plugin bundler end
42
43
44 syntax on
45 filetype plugin indent on
46
47 set enc=utf-8
48
49 set hlsearch
50 set ic smartcase
51
52 set lcs=tab:→·,trail:·
53
54 set ve=block
55
56 set autoindent
57 set expandtab
58 set shiftwidth=2
59 set softtabstop=2
60 " vim: enc=utf-8 et sts=2 sw=2
61
62 set backspace=indent,eol,start
63
64 " set nu
65 set scrolloff=2
66 set ruler
67 set showcmd
68 set wildmenu
69
70 nmap <silent> <F1> :Unite buffer<CR>
71 nmap <silent> <F2> :Unite file<CR>
72 nmap <silent> <F3> :VimShell<CR>
73 map <silent> <F4> :noh<CR>
74 nmap <silent> <F5> :GundoToggle<CR>
75 nmap <silent> <F8> :TagbarToggle<CR>
76
77 " This is supposed to get a CtrlP workalike with fuzzy match
78 " but i need to fix ignores and always chdir to a good place
79 if has("win32") || has("win16")
80 nmap <silent> <S-F2> :Unite -start-insert file_rec:!<CR>
81 else
82 nmap <silent> <S-F2> :Unite -start-insert file_rec/async:!<CR>
83 endif
84
85 " F-n keys call out to normal mode from insert mode
86 imap <F1> <C-O><F1>
87 imap <F2> <C-O><F2>
88 " imap <F3> <C-O><F3>
89 imap <F4> <C-O><F4>
90 " imap <F5> <C-O><F5>
91 " imap <F6> <C-O><F6>
92 " imap <F7> <C-O><F7>
93 imap <F8> <C-O><F8>
94
95 " Don't assume to scan includes when autocompleting
96 set cpt-=i
97
98 " Never open with folds collapsed
99 set nofoldenable
100
101 set lbr
102 set sbr=»\
103
104 set statusline=%f%m%r%h%w\ %y\ %=%l,%c\ %p%%\ %L
105 set laststatus=2
106
107 if has("win32") || has("win16")
108 let $MYVIM=$HOME.'/vimfiles'
109
110 if !filewritable( $MYVIM . '/var' )
111 silent execute '!mkdir "'.$HOME.'\vimfiles\var"'
112 endif
113 if !filewritable( $MYVIM. '/var/backup' )
114 silent execute '!mkdir "'.$HOME.'\vimfiles\var\backup"'
115 endif
116 if !filewritable( $MYVIM . '/var/tmp' )
117 silent execute '!mkdir "'.$HOME.'\vimfiles\var\tmp"'
118 endif
119 if !filewritable( $MYVIM . '/var/undo' )
120 silent execute '!mkdir "'.$HOME.'\vimfiles\var\undo"'
121 endif
122
123 set guifont=Consolas:h11
124 set guioptions-=t
125 else
126 let $MYVIM=$HOME.'/.vim'
127
128 if !filewritable( $MYVIM . '/var/backup' )
129 silent execute '!mkdir -p "'.$MYVIM.'/var/backup"'
130 endif
131 if !filewritable( $MYVIM . '/var/tmp' )
132 silent execute '!mkdir "'.$MYVIM.'/var/tmp"'
133 endif
134 if !filewritable( $MYVIM . '/var/undo' )
135 silent execute '!mkdir "'.$MYVIM.'/var/undo"'
136 endif
137
138 set guifont=Droid\ Sans\ Mono\ Slashed\ 10
139 endif
140
141 set backupdir=$MYVIM/var/backup//,.
142 set directory=$MYVIM/var/tmp//,.
143
144 set backup
145 set autowrite
146 " set hidden -- autowrite vs hidden, haven't decided.
147
148 if has('persistent_undo')
149 set undofile
150 set undodir=$MYVIM/var/undo//,.
151 end
152
153 if has('gui_running')
154 set number
155 set background=dark
156 set columns=120 lines=40
157 colorscheme solarized
158 end
159
160 autocmd FileType text setlocal textwidth=78
161
162
163 " -- Perl stuff
164 function! PerlSettings ()
165 setlocal keywordprg=perldoc\ -f
166 setlocal makeprg=perl\ -c\ %\ $*
167 setlocal errorformat=%m\ at\ %f\ line\ %l
168 endfunction
169
170 autocmd FileType perl call PerlSettings()
171
172 " preload templates into new buffers by file extension
173 " autocmd BuffNewFile * silent! 0r $MYVIM/templates/%:e.template
174
175 " strip trailing whitespace on save
176 " autocmd BufWritePre * :%s/\s+$//e
177
178 "let perl_fold = 1 "perl fold scanning is slow
179 let perl_include_pod = 1
180
181 " -- Gundo
182 " I prefer python3 on windows if I have to use it.
183 if has('win32')
184 let g:gundo_prefer_python3=1
185 endif
186
187 " -- Tagbar
188 if has("win32") || has("win16")
189 let g:tagbar_ctags_bin = 'C:\Users\mhoward\bin\ctags.exe'
190 endif
191
192 let g:tagbar_autoclose = 1
193 let g:tagbar_autofocus = 1
194 let g:tagbar_compact = 1
195
196 let g:tagbar_type_perl = {
197 \ 'kinds' : [
198 \ 'p:packages:1:0',
199 \ 'e:extends',
200 \ 'r:roles',
201 \ 'c:constants:0:0',
202 \ 'f:formats:0:0',
203 \ 'a:attributes',
204 \ 's:subroutines',
205 \ 'l:labels',
206 \ ],
207 \ 'deffile' : '$MYVIM/ctags/perl.cnf'
208 \ }
209
210
211 " -- Unite
212 call unite#filters#matcher_default#use(['matcher_fuzzy'])
213 call unite#filters#sorter_default#use(['sorter_rank'])
214 let g:unite_source_history_yank_enable = 1
215
216 if executable('ag')
217 let g:unite_source_grep_command = 'ag'
218 let g:unite_source_grep_default_opts = '--nogroup --nocolor --column'
219 let g:unite_source_grep_recursive_opt = ''
220 endif
221
222 " -- Airline
223 let g:airline#extensions#whitespace#enabled = 0
224
225
226 " Local stuff
227 try
228 if has("win32") || has("win16")
229 source ~/_vimrc.local
230 else
231 source ~/.vimrc.local
232 endif
233 catch
234 endtry
235

mercurial