" 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
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
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
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
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
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <a-c> <plug>NERDCommenterToggle
+nmap <F9> :NERDTreeToggle<CR>
+nmap <F10> :TagbarToggle<CR>
nmap <c-q> :q<CR>
nmap <c-s> :w<CR>
execute '%s/^\(.*\)$/"\1"/'
endfunction
+function InsertIncludeGuardsWithoutEndif()
+ let gatename = substitute(expand("%:t"), "\\.", "_", "g") . '_' . strpart(system('pwgen -c 16 1'), 0, 16)
+ execute "normal! i#ifndef " . gatename
+ execute "normal! o#define " . gatename
+endfunction
+
+function AddIncludeGuards()
+ execute "normal! Go#endif"
+ execute "normal! gg"
+ call InsertIncludeGuardsWithoutEndif()
+endfunction
+
+autocmd BufNewFile *.{h,hpp,hxx} call AddIncludeGuards()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"au Filetype php set cindent
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" maxima
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile *.wxm set filetype=maxima
+
+
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" LaTeX
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
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
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
+