newbb: fixing git config syntax
[vim] / dotvimrc
1 " Vimrc
2
3 " Author:      Ricardo Salveti de Araujo <rsalveti@gmail.com>
4 " Licence:     You may redistribute this under the same terms as Vim itself
5 "
6 " based on http://amix.dk/vim/vimrc.html
7
8 """"""""""""""""""""""""""""""""""""""
9 "" General
10 """"""""""""""""""""""""""""""""""""""
11
12 " Lines to be remembered
13 set history=400
14
15 " Turn on the file type plugin
16 filetype plugin on
17 filetype indent on
18
19 " Put the file as read only when it's modified by another place
20 set autoread
21
22 " Turn on the mouse (this can be annoying some times)
23 set mouse=a
24
25 " Default file enconding
26 "set encoding=utf-8
27
28 """"""""""""""""""""""""""""""""""""""
29 "" Fonts and colors
30 """"""""""""""""""""""""""""""""""""""
31
32 " Turn the syntax hl on
33 syntax enable
34
35 " Omni colors
36 hi Pmenu guibg=#333333
37 hi PmenuSel guibg=#555555 guifg=#ffffff
38
39 " Background
40 set background=light
41
42 " Color scheme
43 colorscheme desert
44
45 """"""""""""""""""""""""""""""""""""""
46 "" User interface
47 """"""""""""""""""""""""""""""""""""""
48
49 " Turn on the wild menu
50 set wildmenu
51
52 " Always shows the current position
53 set ruler
54
55 " Default size of the commandbar
56 set cmdheight=1
57
58 " Show the number of the lines
59 "set nu
60
61 " Turn the backspace on
62 set backspace=eol,start,indent
63
64 " Show the matching
65 set showmatch
66
67 " Search with highlight
68 set hlsearch
69
70 """"""""""""""""""""""""""""""""""""""
71 "" Tabs
72 """"""""""""""""""""""""""""""""""""""
73
74 " Create a new tab
75 :nmap <C-t> :tabnew<cr>
76
77 " Navigation of the tabs
78 :nmap <A-Left> :tabprevious<cr>
79 :nmap <A-Right> :tabnext<cr>
80
81 """"""""""""""""""""""""""""""""""""""
82 "" Dic 
83 """"""""""""""""""""""""""""""""""""""
84
85 " Turn the dic off
86 :nmap <F5> :setlocal spell! spelllang=<cr>
87
88 " English dic
89 :nmap <F6> :setlocal spell! spelllang=en<cr>
90
91 " Portuguese dic
92 :nmap <F7> :setlocal spell! spelllang=pt<cr>
93
94 """"""""""""""""""""""""""""""""""""""
95 "" Files and backups 
96 """"""""""""""""""""""""""""""""""""""
97
98 " Turn backups off
99 set nobackup
100 set nowb
101 set noswapfile
102
103 """"""""""""""""""""""""""""""""""""""
104 "" Text options
105 """"""""""""""""""""""""""""""""""""""
106
107 " Change tabs per space
108 "set expandtab
109
110 " Characters per identation
111 set shiftwidth=8
112
113 " Spaces ao press tab
114 set tabstop=8
115
116 " Characters per tab
117 set ts=8
118
119 " Show the bracelets just closed
120 set sm
121
122 " Columns for command > (ShiftWidth)
123 set sw=8
124
125 " Convert the existing tabs
126 retab
127
128 " Tab complete like bash
129 set wildmode=longest,list:full
130
131 """"""""""""""""""""""""""""""""""""""
132 "" Indentation
133 """"""""""""""""""""""""""""""""""""""
134
135 " Auto indentation
136 set ai
137
138 " Smart indent
139 set si
140
141 set wrap
142
143 " C-like indentation
144 set cindent
145
146 """"""""""""""""""""""""""""""""""""""
147 "" Search
148 """"""""""""""""""""""""""""""""""""""
149
150 " Smart search options
151 set is
152 set hls
153 set ic
154 set scs
155 set magic
156
157 """"""""""""""""""""""""""""""""""""""
158 "" Tags
159 """"""""""""""""""""""""""""""""""""""
160
161 " My default tags
162 set tags+=/home/rsalveti/.vim/tags/tags
163 set tags+=/home/rsalveti/.vim/systags
164
165 """"""""""""""""""""""""""""""""""""""
166 "" File specific options
167 """"""""""""""""""""""""""""""""""""""
168
169    """"""""""""""""""""""""""""""
170    " VIM
171    """"""""""""""""""""""""""""""
172    autocmd FileType vim map <buffer> <leader><space> :w!<cr>:source %<cr>
173
174    """"""""""""""""""""""""""""""
175    " HTML
176    """"""""""""""""""""""""""""""
177    " HTML entities - used by xml edit plugin
178    let xml_use_xhtml = 1
179    "let xml_no_auto_nesting = 1
180
181    " HTML
182    let html_use_css = 1
183    let html_number_lines = 0
184    let use_xhtml = 1
185
186    au FileType html set shiftwidth=8
187    au FileType html set tabstop=8
188    au FileType html set ts=8
189    au FileType html set sm
190    au FileType html set sw=8
191    au FileType html set expandtab
192
193
194    """"""""""""""""""""""""""""""
195    " Ruby & PHP section
196    """"""""""""""""""""""""""""""
197    autocmd FileType ruby map <buffer> <leader><space> :w!<cr>:!ruby %<cr>
198    autocmd FileType php compiler php
199    autocmd FileType php map <buffer> <leader><space> <leader>cd:w<cr>:make %<cr>
200
201    """"""""""""""""""""""""""""""
202    " Bash section
203    """"""""""""""""""""""""""""""
204    au FileType sh set shiftwidth=4
205    au FileType sh set tabstop=4
206    au FileType sh set ts=4
207    au FileType sh set sm
208    au FileType sh set sw=4
209    au FileType sh set expandtab
210
211    """"""""""""""""""""""""""""""
212    " BitBake section
213    """"""""""""""""""""""""""""""
214    au FileType bitbake set shiftwidth=4
215 "   au FileType bitbake set tabstop=4
216 "   au FileType bitbake set ts=4
217    au FileType bitbake set sm
218    au FileType bitbake set sw=4
219    au FileType bitbake set expandtab
220
221    """"""""""""""""""""""""""""""
222    " Python section
223    """"""""""""""""""""""""""""""
224    "Python iMaps
225    au FileType python set cindent
226    au FileType python inoremap <buffer> $r return
227    au FileType python inoremap <buffer> $s self
228    au FileType python inoremap <buffer> $c ##<cr>#<space><cr>#<esc>kla
229    au FileType python inoremap <buffer> $i import
230    au FileType python inoremap <buffer> $p print
231    au FileType python inoremap <buffer> $d """<cr>"""<esc>O
232
233    "Python Options"
234    au FileType python set shiftwidth=4
235    au FileType python set tabstop=4
236    au FileType python set ts=4
237    au FileType python set sm
238    au FileType python set sw=4
239    au FileType python set expandtab
240
241    "Run in the Python interpreter
242    function! Python_Eval_VSplit() range
243      let src = tempname()
244      let dst = tempname()
245      execute ": " . a:firstline . "," . a:lastline . "w " . src
246      execute ":!python " . src . " > " . dst
247      execute ":pedit! " . dst
248    endfunction
249    au FileType python map <F10> :call Python_Eval_VSplit()<cr>
250
251    "Pylint Compiler"
252    "autocmd FileType python compiler pylint
253    "autocmd BufReadPost quickfix map <buffer> <silent> <CR> :.cc <CR> :ccl
254
255    """"""""""""""""""""""""""""""
256    " Cheetah section
257    """""""""""""""""""""""""""""""
258    autocmd FileType cheetah set ft=xml
259    autocmd FileType cheetah set syntax=cheetah
260
261    """""""""""""""""""""""""""""""
262    " Vim section
263    """""""""""""""""""""""""""""""
264    autocmd FileType vim set nofen
265
266    """""""""""""""""""""""""""""""
267    " Java section
268    """""""""""""""""""""""""""""""
269    au FileType java inoremap <buffer> <C-t> System.out.println();<esc>hi
270
271    "Abbr'z
272    autocmd FileType java inoremap <buffer> $pr private
273    autocmd FileType java inoremap <buffer> $r return
274    autocmd FileType java inoremap <buffer> $pu public
275    autocmd FileType java inoremap <buffer> $i import
276    autocmd FileType java inoremap <buffer> $b boolean
277    autocmd FileType java inoremap <buffer> $v void
278    autocmd FileType java inoremap <buffer> $s String
279
280    "Folding
281    function! JavaFold()
282      setl foldmethod=syntax
283      setl foldlevelstart=1
284      syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
285      syn match foldImports /\(\n\?import.\+;\n\)\+/ transparent fold
286
287      function! FoldText()
288        return substitute(getline(v:foldstart), '{.*', '{...}', '')
289      endfunction
290      setl foldtext=FoldText()
291    endfunction
292    au FileType java call JavaFold()
293    au FileType java setl fen
294
295    au BufEnter *.sablecc,*.scc set ft=sablecc
296
297    """"""""""""""""""""""""""""""
298    " JavaScript section
299    """""""""""""""""""""""""""""""
300    function! JavaScriptFold()
301      setl foldmethod=syntax
302      setl foldlevelstart=1
303      syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
304
305      function! FoldText()
306        return substitute(getline(v:foldstart), '{.*', '{...}', '')
307      endfunction
308      setl foldtext=FoldText()
309    endfunction
310    au FileType javascript call JavaScriptFold()
311    au FileType javascript setl fen
312
313    au FileType javascript imap <c-t> console.log();<esc>hi
314    au FileType javascript imap <c-a> alert();<esc>hi
315    au FileType javascript setl nocindent
316    au FileType javascript inoremap <buffer> $r return
317
318    au FileType javascript inoremap <buffer> $d //<cr>//<cr>//<esc>ka<space>
319    au FileType javascript inoremap <buffer> $c /**<cr><space><cr>**/<esc>ka
320
321    """"""""""""""""""""""""""""""
322    " HTML
323    """""""""""""""""""""""""""""""
324    au FileType html,cheetah set ft=xml
325    au FileType html,cheetah set syntax=html
326
327    """"""""""""""""""""""""""""""
328    " C mappings
329    """""""""""""""""""""""""""""""
330    autocmd FileType c map <buffer> <leader><space> :w<cr>:!gcc %<cr>
331
332    """""""""""""""""""""""""""""""
333    " SML
334    """""""""""""""""""""""""""""""
335    autocmd FileType sml map <silent> <buffer> <leader><space> <leader>cd:w<cr>:!sml %<cr>
336
337    """"""""""""""""""""""""""""""
338    " Scheme bidings
339    """"""""""""""""""""""""""""""
340    autocmd BufNewFile,BufRead *.scm map <buffer> <leader><space> <leader>cd:w<cr>:!petite %<cr>
341    autocmd BufNewFile,BufRead *.scm inoremap <buffer> <C-t> (pretty-print )<esc>i
342    autocmd BufNewFile,BufRead *.scm vnoremap <C-t> <esc>`>a)<esc>`<i(pretty-print <esc>
343
344    """"""""""""""""""""""""""""""
345    " SVN section
346    """""""""""""""""""""""""""""""
347    map <F8> :new<CR>:read !svn diff<CR>:set syntax=diff buftype=nofile<CR>gg
348
349    """"""""""""""""""""""""""""""
350    " GIT section
351    """""""""""""""""""""""""""""""
352    map <F9> :new<CR>:read !git diff<CR>:set syntax=diff buftype=nofile<CR>gg
353
354    """"""""""""""""""""""""""""""
355    " Compiler section
356    """""""""""""""""""""""""""""""
357    map <F11> :cp<CR>
358    map <F12> :cn<CR>