switched to YCM for code completion and ultisnips for snippets
[stack/conf/vim.git] / vimrc
diff --git a/vimrc b/vimrc
index d967d29..2b16f7c 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -25,19 +25,20 @@ syntax on " syntax highlighting on
 
 set background=dark
 set t_Co=256
-colorscheme desert 
+colorscheme morning 
 "colorscheme xoria256 
 "let g:solarized_termcolors=256
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 " Vim UI
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+set nofoldenable    " disable folding
 set wildmenu " turn on wild menu
 set ruler " Always show current positions along the bottom 
 set number " turn on line numbers
 set lz " do not redraw while running macros (much faster) (LazyRedraw)
 set hid " you can change buffer without saving
-set backspace=2 " make backspace work normal    
+set backspace=eol,start,indent " make backspace work normal    
 set whichwrap+=<,>,h,l  " backspace and cursor keys wrap to
 set shortmess=atI " shortens messages to avoid 'press a key' prompt 
 set report=0 " tell us when anything is changed via :...
@@ -49,7 +50,7 @@ set fillchars=vert:\ ,stl:\ ,stlnc:\
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 set showmatch " show matching brackets
 set mat=5 " how many tenths of a second to blink matching brackets for
-set hlsearch " highlight searched for phrases
+set nohlsearch " highlight searched for phrases
 set incsearch " do highlight as you type you search phrase
 set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ " what to show when I hit :set list
 set so=10 " Keep 10 lines (top/bottom) for scope
@@ -62,6 +63,7 @@ set laststatus=2 " always show the status line
 " Text Formatting/Layout
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 set fo=tcrqn " See Help (complex)
+set ai " autoindent
 set si " smartindent 
 set tabstop=4 " tab spacing (settings below are just to unify it)
 set softtabstop=4 " unify
@@ -70,16 +72,6 @@ set expandtab " space instead of tabs
 set smarttab "Use the "shiftwidth" setting for inserting <TAB>s instead of the "tabstop" setting, when at the beginning of a line.
 set nowrap " do not wrap lines  
   
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Folding
-"    Enable folding, but by default make it act like folding is off, because folding is annoying in anything but a few rare cases
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-set foldenable " Turn on folding
-set foldmethod=indent " Make folding indent sensitive
-set foldlevel=100 " Don't autofold anything (but I can still fold manually)
-set foldopen-=search " don't open folds when you search into them
-set foldopen-=undo " don't open folds when you undo stuff
-
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 " Mouse Settings
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -186,6 +178,7 @@ if has ("autocmd")
 
     autocmd FileType c,cpp,slang set cindent
     autocmd FileType c,cpp,slang set textwidth=79
+    autocmd FileType c,cpp,slang set tags=./tags,/usr/src/linux/tags,~/.vim/tags/usr/include/tags 
 
     autocmd BufEnter * :syntax sync fromstart " ensure every file does syntax highlighting (full)
     autocmd BufNewFile *.sh call append(0, "#!/bin/bash")
@@ -208,11 +201,6 @@ if has ("autocmd")
 endif
  
 
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Useful abbrevs
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-iab xdate <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr> 
-
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 " General configs
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -236,20 +224,34 @@ let vam_install_path = expand('$HOME') . '/.vim/addons'
 exec 'set runtimepath+='.vam_install_path.'/vim-addon-manager'
 " Enable addons with vim-addon-manager using file type recognition
 let ft_addons = {
-    \ 'always': ['surround', 'checksyntax', 'LargeFile', 'snipmate', 'snipmate-snippets', 'The_NERD_tree', 'SuperTab%1643'],
+    \ 'always': ['desert', 'surround', 'checksyntax', 'quickfixsigns', 'LargeFile', 'UltiSnips', 'The_NERD_tree', 'fugitive'],
     \ 'r': [ 'Screen_vim__gnu_screentmux', 'Vim-R-plugin' ],
-    \ '^\%(c\|cpp\|javascript\|python\|php\|html\|xml\|r\|sh\|css\|java\|make\|xslt\|vim\)$': [ 'Tagbar', 'checksyntax', 'TagHighlight'],
-    \ '^\%(c\|cpp\)$': [ 'clang_complete' ],
-    \ 'python': ['pythoncomplete', 'python_pydoc'],
-    \ 'php': ['phpcomplete', 'PDV_-_phpDocumentor_for_Vim'],
-    \ 'gpg': ['gnupg'],
+    \ '^\%(c\|cpp\|cuda\|javascript\|python\|php\|html\|xml\|r\|sh\|css\|java\|make\|xslt\|vim\)$': [ 'Tagbar', 'checksyntax', 'TagHighlight', 'sleuth'],
+    \ '^\%(c\|cpp\|h\|cuda\|php\|python\)$': [ 'YouCompleteMe' ],
+    \ 'php': ['PDV_-_phpDocumentor_for_Vim'],
     \ }
 call vam#ActivateAddons(ft_addons['always'], {'auto_install': 1})
 au FileType * for l in values(filter(copy(ft_addons), string(expand('<amatch>')).' =~ v:key')) | call vam#ActivateAddons(l, {'force_loading_plugins_now':1}) | endfor
 
-" SuperTab option for context aware completion
-let g:SuperTabDefaultCompletionType = "context"
 
-let g:clang_complete_copen = 1
-let g:clang_complete_auto = 1
-let g:clang_user_options='|| exit 0'
+if has("cscope")
+    set csto=0
+    set cst
+    set nocsverb
+    " add any database in current directory
+    if filereadable("cscope.out")
+        cs add cscope.out
+    " else add database pointed to by environment
+    elseif $CSCOPE_DB != ""
+        cs add $CSCOPE_DB
+    endif
+    if filereadable("/usr/linux/cscope.out")
+        cs add /usr/linux/cscope.out
+    endif
+    set csverb
+endif
+
+let g:UltiSnipsExpandTrigger = "<c-j>"
+let g:UltiSnipsJumpForwardTrigger = "<c-j>"
+let g:UltiSnipsJumpBackwardTrigger = "<c-k>"
+let g:UltiSnipsDontReverseSearchPath=1