vim: update
[shutils.git] / dotfiles / vim / .vimrc
index 62ca06d8387969cdff3a60cde0c1f02765d2448f..1afa776496a204596986348607661b3d96ab2a07 100644 (file)
@@ -20,6 +20,7 @@ set hlsearch
 
 set cursorline
 set laststatus=2
+set scrolloff=4
 
 set listchars=tab:»­,trail:·,eol:$
 set virtualedit=block
@@ -39,18 +40,17 @@ set wildmode=longest,list:longest
 
 set tags=./tags;/
 
+syntax on
+filetype plugin indent on
+
 " Pathogen runtime path manipulation
 "call pathogen#infect() "Using the infect method breaks ft detection
-filetype off
 call pathogen#runtime_append_all_bundles()
 call pathogen#helptags()
 
-syntax on
-filetype plugin indent on
-
 
 "Power saving tip: powertop-homepage
-let &guicursor = &guicursor . ",a:blinkon0"
+"let &guicursor = &guicursor . ",a:blinkon0"
 "According to vim help -- enable mouse in xterm...
 set mouse=a
 
@@ -86,7 +86,7 @@ let g:airline_theme = 'wombat'
 let g:airline#extensions#tabline#enabled = 1
 let g:airline#extensions#tagbar#enabled = 0
 let g:airline#extensions#whitespace#enabled = 0
-let g:airline#extensions#branch#enabled = 0
+let g:airline#extensions#branch#enabled = 1
 let g:airline#extensions#branch#use_vcscommand = 1
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -110,10 +110,10 @@ map <a-c> <plug>NERDCommenterToggle
 nmap <F9> :NERDTreeToggle<CR>
 nmap <F10> :TagbarToggle<CR>
 
-nmap <c-q> :q<CR>
-nmap <c-s> :w<CR>
-vmap <c-s> <Esc><c-s>gv
-imap <c-s> <c-o><c-s>
+"nmap <c-q> :q<CR>
+"nmap <c-s> :w<CR>
+"vmap <c-s> <Esc><c-s>gv
+"imap <c-s> <c-o><c-s>
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -129,13 +129,13 @@ au Filetype fortran     set cindent cst csto=0
 "  C, C++, C#, objc, java
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-au Filetype c,cpp,cs,objc,java map <F4> :cnext <CR>
-au Filetype c,cpp,cs,objc,java map <S-F4> :cprevious <CR>
-au Filetype c,cpp,cs,objc,java map <F11> :AS <CR>
-au Filetype c,cpp,cs,objc,java map <S-F11> :A <CR>
+au Filetype c,cpp,cs,objc,java map <buffer> <F4> :cnext <CR>
+au Filetype c,cpp,cs,objc,java map <buffer> <S-F4> :cprevious <CR>
+au Filetype c,cpp,cs,objc,java map <buffer> <F11> :AS <CR>
+au Filetype c,cpp,cs,objc,java map <buffer> <S-F11> :A <CR>
 au Filetype c,cpp,cs,objc,java set cindent cst csto=0
-au Filetype c,cpp,cs,objc map <F7> :make <CR>
-au Filetype java map <F7> :!ant -f ../build.xml <CR>
+au Filetype c,cpp,cs,objc map <buffer> <F7> :make <CR>
+au Filetype java map <buffer> <F7> :!ant -f ../build.xml <CR>
 au Filetype c,cpp,cs,objc set makeprg=make
 
 
@@ -273,8 +273,8 @@ au BufRead,BufNewFile *.cls set filetype=tex
 au Filetype tex set textwidth=80
 au Filetype tex set smartindent
 " Override Tagbar Toggle with LatexBox TOC
-au Filetype tex nmap <F10> :LatexTOCToggle<CR>
-au Filetype tex nmap <F11> :LatexLabels<CR>
+au Filetype tex nmap <buffer> <F10> :LatexTOCToggle<CR>
+au Filetype tex nmap <buffer> <F11> :LatexLabels<CR>
 
 
 "Remove Umlaute
@@ -300,7 +300,7 @@ endfunction
 "  python
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-au Filetype python map <F5> :!python % <CR>
+au Filetype python map <buffer> <F5> :!python % <CR>
 
 " vimrc file for following the coding standards specified in PEP 7 & 8.
 
@@ -318,15 +318,23 @@ au Filetype python set textwidth=79
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
 "Opens the current file in ipe
-au Filetype xml map <M-o> :call OpenIn("ipe") <CR>
+au BufRead,BufNewFile *.ipe set filetype=ipe
+au Filetype xml,ipe map <buffer> <M-o> :call OpenIn("ipe") <CR>
 
+au Filetype xml let g:tagbar_sort = 0
+let g:tagbar_type_xml = {
+  \ 'ctagstype' : 'xml',
+  \ 'kinds' : [
+    \ 't:Tag'
+  \ ]
+\ }
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  gnuplot
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
 "Opens the current file in ipe
-au Filetype gnuplot map <M-o> :call OpenIn("gnuplot -persist") <CR>
+au Filetype gnuplot map <buffer> <M-o> :call OpenIn("gnuplot -persist") <CR>
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -337,11 +345,48 @@ au BufRead,BufNewFile */.remind/* set filetype=remind
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  closetag
+"  vim-orgmode
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-let g:unaryTagsStack = ""
-au Filetype html,xml,xsl source /usr/share/vim/vimfiles/plugin/closetag.vim
+au BufRead,BufNewFile *.org set filetype=org
+let g:org_todo_keywords=['TODO', 'FEEDBACK', 'VERIFY', '|', 'DONE', 'DELEGATED']
+let g:org_todo_keyword_faces = [['FEEDBACK', 'magenta'], ['TODO', 'yellow']]
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  markdown
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+let g:instant_markdown_autostart = 0
+let g:instant_markdown_slow = 1
+au Filetype markdown map <buffer> <F5> :InstantMarkdownPreview<CR>
+au Filetype markdown let g:tagbar_sort = 0
+
+let g:tagbar_type_markdown = {
+  \ 'ctagstype' : 'markdown',
+  \ 'kinds' : [
+    \ 'h:Heading_L1',
+    \ 'i:Heading_L2',
+    \ 'k:Heading_L3'
+  \ ]
+\ }
+
+if executable('marktag')
+    let g:tagbar_type_markdown = {
+        \ 'ctagstype' : 'markdown',
+        \ 'ctagsbin' : 'marktag',
+        \ 'kinds' : [
+            \ 'h:header'
+        \ ],
+        \ 'sro' : '.',
+        \ 'kind2scope' : {
+            \ 'h' : 'header'
+        \  },
+        \ 'scope2kind' : {
+            \ 'header' : 'h'
+        \ }
+    \ }
+end
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -355,7 +400,7 @@ let g:ycm_collect_identifiers_from_tags_files = 1
 let g:ycm_autoclose_preview_window_after_completion = 1
 
 let g:ycm_key_list_select_completion = ['<Down>']
-nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
+nnoremap <buffer> <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
 
 let g:ycm_filetype_whitelist = { 'c' : 1, 'cpp' : 1, 'cs' : 1, 'objc' : 1, 'java' : 1, 'python' : 1 }
 
@@ -363,6 +408,24 @@ let g:ycm_filetype_whitelist = { 'c' : 1, 'cpp' : 1, 'cs' : 1, 'objc' : 1, 'java
 "let g:ycm_server_log_level = 'debug'
 
 
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  syntastic
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+let g:ycm_show_diagnostics_ui = 0
+let g:syntastic_c_checkers = ["cppcheck"]
+let g:syntastic_cpp_checkers = g:syntastic_c_checkers
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  signify
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+let g:signify_vcs_list = ['git']
+
+
+
+
 if filereadable($HOME . "/.vimrc-local")
     source ~/.vimrc-local
 endif