" bundles {{{1
filetype off
set runtimepath& " reset rtp
+autocmd!
set runtimepath+=$XDG_DATA_HOME/vim/vundle
call vundle#rc('$XDG_DATA_HOME/vim')
Bundle 'bling/vim-airline'
Bundle 'elzr/vim-json'
-Bundle 'ervandew/ag.git'
+Bundle 'rking/ag.vim'
Bundle 'http://git.code.sf.net/p/vim-latex/vim-latex'
Bundle 'kien/ctrlp.vim'
+Bundle 'kshenoy/vim-signature'
Bundle 'majutsushi/tagbar'
Bundle 'scrooloose/nerdtree'
Bundle 'scrooloose/syntastic'
Bundle 'sjl/gundo.vim'
Bundle 'tomtom/tcomment_vim'
+Bundle 'tpope/vim-endwise'
Bundle 'tpope/vim-fugitive'
+Bundle 'tpope/vim-repeat'
Bundle 'tpope/vim-surround'
Bundle 'tpope/vim-unimpaired'
Bundle 'valloric/youcompleteme'
-"Bundle 'zhaocai/goldenview.vim'
Bundle 'ompugao/ros.vim'
Bundle 'ompugao/ctrlp-ros'
Bundle 'firef0x/pkgbuild.vim'
Bundle 'derekwyatt/vim-fswitch'
" seems to have problems right now... may be add later?
-"Bundle 'jalcine/cmake.vim'
-Bundle 'powerman/vim-plugin-viewdoc'
+" Bundle 'jalcine/cmake.vim'
+" Bundle 'powerman/vim-plugin-viewdoc'
-" rtp + xdg {{{1
" remove entries first
set runtimepath -=$HOME/.vim
set runtimepath -=$HOME/.vim/after
" bindings {{{1
" allow both <space> and / to be <leader>
map <space> <leader>
+nnoremap <leader><cr> :make<cr>
" moving around, searching and patterns {{{1
set incsearch " show match for partly typed search command
set ignorecase " ignore case when using a search pattern
set smartcase " override 'ignorecase' when pattern has upper case characters
-set hlsearch " highlight all matches for the last used search pattern
+set hlsearch " highlight all matches for the last used search pattern
" use leader-n to unhighlight search
nmap <silent> <Leader>n :silent nohl<CR>
vnoremap . :normal .<CR>
" add line without changing position or leaving mode
-map <Leader>o :set paste<CR>m`o<ESC>``:set nopaste<CR>
-map <Leader>O :set paste<CR>m`O<ESC>``:set nopaste<CR>
+noremap <silent> <Leader>o :set paste<CR>m`o<ESC>``:set nopaste<CR>
+noremap <silent> <Leader>O :set paste<CR>m`O<ESC>``:set nopaste<CR>
" Don't use Ex mode, use Q for formatting
map Q gq
" command line editing {{{1
set history=500 " how many command lines are remembered
-set wildmode=longest:full " specifies how command line completion works
+set wildmode=longest:full,full " specifies how command line completion works
set wildmenu " command-line completion shows a list of matches
" various {{{1
set viewdir=$XDG_CACHE_HOME/vim
" plugins {{{1
+" ag {{{2
+let g:AgSmartCase = 1
+nnoremap <leader>ag yiw:Ag \12"<cr>
+vnoremap <leader>ag y:Ag \12"<cr>
+
" airline {{{2
let g:airline_detect_whitespace=2
let g:airline#extensions#tabline#enabled = 1
" delete fugitive buffers when closed
autocmd BufReadPost fugitive://* set bufhidden=delete
+nnoremap <silent> <leader>gs :Gstatus<CR>
+nnoremap <silent> <leader>gd :Gdiff<CR>
+nnoremap <silent> <leader>gc :tab Gcommit -v<CR>
+
" NERDTree {{{2
" open/close NERDTree with \e
nmap <Leader>e :NERDTreeToggle<CR>
let g:tagbar_iconchars = ['+', '-']
" YouCompleteMe {{{2
-let g:ycm_extra_conf_globlist = ['~/src/*']
+let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*']
+let g:ycm_add_preview_to_completeopt = 1
+let g:ycm_autoclose_preview_window_after_insertion = 1
+"let g:ycm_extra_conf_vim_data = ['%:p']
+nnoremap <leader>jd :YcmCompleter GoTo<CR>
" vim-json {{{2
let g:vim_json_syntax_conceal = 0
" vim-latex {{{2
let g:tex_flavor='latex'
let g:Tex_DefaultTargetFormat='pdf'
+let g:Tex_MultipleCompileFormats='pdf'
-" vim-viewdoc {{{2
-let g:no_viewdoc_maps = 1
-nnoremap K :call ViewDoc('doc', '<cword>')<cr>
+" " vim-viewdoc {{{2
+" let g:no_viewdoc_maps = 1
+" nnoremap K :call ViewDoc('doc', '<cword>')<cr>
" functions {{{1
" auto source vimrc when saved