vim: Update config files and scripts
[shutils.git] / dotfiles / vim / .vimrc
index 5da54996af79d7730b9e6dfb1fec05781fb8b839..3858f3abe3be3df0f015db400e820a51d75a319a 100644 (file)
@@ -1,16 +1,13 @@
 " Purpose:      My personal .vimrc
 " Author:       Stefan Huber
-"
-"Essential resources for vim users
-"  - vim.sf.net -- find tips and scripts for vim and gvim
-"
-"By calling ":help keyword" you get help for the specific
-"option and setting.
+
+"profile start /tmp/profile.log
+"profile func *
+"profile file *
 
 
 set nocompatible
 set encoding=utf8
-set modeline
 set number
 set backspace=indent,eol,start
 
@@ -25,10 +22,12 @@ set cursorline
 set laststatus=2
 
 set listchars=tab:»­,trail:·,eol:$
+set virtualedit=block
 
 set autoindent
 set tabstop=4
 set shiftwidth=4
+set expandtab
 
 if version >= 703
     set spelllang=de_at,en
@@ -36,6 +35,10 @@ if version >= 703
     set colorcolumn=+1
 endif
 
+set wildmode=longest,list:longest
+
+set tags=./tags;/
+
 " Pathogen runtime path manipulation
 "call pathogen#infect() "Using the infect method breaks ft detection
 filetype off
@@ -61,8 +64,10 @@ colorscheme shuber-wombat
 highlight BadWhitespace ctermbg=red guibg=red
 " Make trailing whitespace be flagged as bad.
 au Filetype python,tex,c,cpp,cs,objc,java,vim syn match BadWhitespace /\s\+$/ containedin=ALL
+au Filetype python,tex,c,cpp,cs,objc,java,vim let g:airline#extensions#whitespace#enabled = 0
 
 
+" Detect indentation, but otherwise set expandtab
 if exists(":DetectIndent")
     au BufReadPost * :DetectIndent
 endif
@@ -71,6 +76,19 @@ endif
 let g:syntastic_mode_map = { 'mode' : 'active', 'active_filetypes' : [], 'passive_filetypes' : ['html'] }
 
 
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  Airline
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+let g:airline_powerline_fonts = 0
+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#use_vcscommand = 1
+
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  Some macros
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -86,6 +104,8 @@ endfunction
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
 map <a-c> <plug>NERDCommenterToggle
+nmap <F9> :NERDTreeToggle<CR>
+nmap <F10> :TagbarToggle<CR>
 
 nmap <c-q> :q<CR>
 nmap <c-s> :w<CR>
@@ -180,7 +200,7 @@ function AddIncludeGuards()
        call InsertIncludeGuardsWithoutEndif()
 endfunction
 
-autocmd BufNewFile *.{h,hpp} call AddIncludeGuards()
+autocmd BufNewFile *.{h,hpp,hxx} call AddIncludeGuards()
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -216,6 +236,13 @@ au Filetype php set textwidth=80
 "au Filetype php set cindent
 
 
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  maxima
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile *.wxm set filetype=maxima
+
+
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  LaTeX
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -242,8 +269,12 @@ function FindWordRepeatings()
 endfunction
 
 let g:tex_flavor = "latex"
-let g:LatexBox_viewer="okular"
-let g:LatexBox_latexmk_options="-pvc"
+let g:LatexBox_output_type = "pdf"
+let g:LatexBox_viewer = "okular"
+let g:LatexBox_latexmk_async = 1
+let g:LatexBox_latexmk_preview_continuously = 1
+let g:LatexBox_show_warnings = 0
+let g:LatexBox_quickfix = 2
 
 au Filetype tex set smartindent
 
@@ -285,17 +316,35 @@ au Filetype xml map <M-o> :call OpenIn("ipe") <CR>
 au Filetype gnuplot map <M-o> :call OpenIn("gnuplot -persist") <CR>
 
 
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  remind
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile */.remind/* set filetype=remind
+
+
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  youcompleteme
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
+"let g:ycm_path_to_python_interpreter = '/usr/bin/python'
+let g:ycm_global_ycm_extra_conf = '/home/shuber/.ycm_extra_conf.py'
 let g:ycm_min_num_of_chars_for_completion = 999
 let g:ycm_key_list_select_completion = ['<Down>']
+let g:ycm_collect_identifiers_from_tags_files = 1
+let g:ycm_autoclose_preview_window_after_completion = 1
+nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
 
+"let g:ycm_server_use_vim_stdout = 1
+"let g:ycm_server_log_level = 'debug'
 
 
 if filereadable($HOME . "/.vimrc-local")
     source ~/.vimrc-local
 endif
 
+" Being able to load project specific vimrc files
+set exrc
+set secure
+