autocmd!
set runtimepath+=$XDG_DATA_HOME/vim/vundle
-call vundle#rc('$XDG_DATA_HOME/vim')
+call vundle#begin('$XDG_DATA_HOME/vim')
Plugin 'gmarik/vundle'
Plugin 'elzr/vim-json'
Plugin 'firef0x/pkgbuild.vim'
Plugin 'junegunn/vim-easy-align'
-" Plugin 'kien/ctrlp.vim'
-" Plugin 'klen/python-mode'
-Plugin 'wilywampa/python-mode'
+Plugin 'justinmk/vim-sneak'
+Plugin 'klen/python-mode'
Plugin 'kshenoy/vim-signature'
Plugin 'majutsushi/tagbar'
+Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'raimondi/delimitmate'
-" Plugin 'rking/ag.vim'
Plugin 'scrooloose/syntastic'
-Plugin 'shougo/vimproc.vim'
Plugin 'shougo/unite.vim'
+Plugin 'shougo/vimproc.vim'
Plugin 'sjl/gundo.vim'
Plugin 'tomtom/tcomment_vim'
+Plugin 'tpope/vim-abolish'
Plugin 'tpope/vim-endwise'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-repeat'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-unimpaired'
Plugin 'valloric/youcompleteme'
+Plugin 'vim-scripts/replacewithregister'
Plugin 'vim-scripts/yankring.vim'
+" colorschemes
+Plugin 'flazz/vim-colorschemes'
+
" snippets
Plugin 'sirver/ultisnips'
Plugin 'honza/vim-snippets'
" find an alternative (latex-box? Automatic Latex Plugin?)
Plugin 'http://git.code.sf.net/p/vim-latex/vim-latex'
" Plugin 'lokaltog/vim-easymotion'
-Plugin 'justinmk/vim-sneak'
Plugin 'chrisbra/checkattach'
Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'alx741/vinfo'
-Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'vim-scripts/mediawiki.vim'
-Plugin 'vim-scripts/replacewithregister'
-Plugin 'tpope/vim-abolish'
Plugin 'derekwyatt/vim-protodef'
+Plugin 'rdnetto/ycm-generator'
+" needs editing colorscheme
+" Plugin 'jeaye/color_coded'
+
+call vundle#end()
" remove entries first
set runtimepath -=$HOME/.vim
" colorscheme {{{1
syntax on
-colorscheme badwolf
+colorscheme badfox
" options {{{1
-" put $ and the end of text to be replaced with 'cw' and the likes
-set cpoptions+=$
-
" moving around, searching and patterns {{{2
set incsearch " show match for partly typed search command
set ignorecase " ignore case when using a search pattern
" diff mode {{{2
set diffopt+=filler " show filler lines
set diffopt+=vertical " always vertical split
-set diffopt+=iwhite " ignore white space
set diffopt+=context:10 " 10 lines context between changes
" reading and writing files {{{2
set history=5000 " how many command lines are remembered
set wildmenu " command-line completion shows a list of matches
set wildmode=longest:full,full " specifies how command line completion works
+set wildignorecase " ignore case when completing file names
set wildignore+=.hg,.git,.svn " Version control
set wildignore+=*.aux,*.out,*.toc " LaTeX intermediate files
set wildignore+=*.pyc " Python byte code
set wildignore+=*.orig " Merge resolution files
+" running make and jumping to errors {{{2
+set makeprg=make\ -w " print changing directories
+
+set grepprg=ag\ --vimgrep\ $*
+
" language specific {{{2
set isfname-== " don't treat `=` as being part of filenames
" various {{{2
-set virtualedit=all " let cursor move past last char in <C-V> mode
+set virtualedit+=block " let cursor move past last char in <C-V> mode
+set virtualedit+=onemore " allow the cursor to move just past the end of the line
set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache
set viewdir=$XDG_CACHE_HOME/vim/view//
map <space> <leader>
" make
-nnoremap <leader>r :make<cr>
-nnoremap <leader><cr> :make<cr>
+nnoremap <leader>r :make!<cr>
+nnoremap <leader><cr> :make!<cr>
" unhighlight search
nnoremap <silent> <Leader>/ :silent nohl<CR>
function! StripWhitespace(line1, line2, ...) " {{{2
let s_report = &report
let &report=0
- let pattern = a:0 ? a:1 : '[\\]\@<!\s\+$'
+ let pattern = a:0 ? a:1 : '\s\+$'
let oldview = winsaveview()
exe 'keepjumps keeppatterns '.a:line1.','.a:line2.'substitute/'.pattern.'//e'
if oldview != winsaveview()
map <F1> :ls<CR>:b<space>
+" move between windows
nnoremap <C-L> <C-W>w
nnoremap <C-H> <C-W>W
exe 'nnoremap co'.idt.' :set tabstop='.idt.' shiftwidth='.idt.' softtabstop='.idt.'<CR>'
endfor
+" toggle auto format of text
+nnoremap coa :set <C-R>=&formatoptions =~ "a" ? 'formatoptions-=a' : 'formatoptions+=a'<CR><CR>
+nnoremap [oa :set formatoptions+=a<CR>
+nnoremap ]oa :set formatoptions-=a<CR>
+
" space will toggle current fold in normal mode
nnoremap <leader><Space> za
" create folds around visual selection
nmap <silent> <leader>qq :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>
" commands {{{1
-command! Cd lcd %:h
-command! Cr execute('lcd ' . FindGitDirOrHome())
+command! Cd cd %:h
+command! Cr execute('cd ' . FindGitDirOrHome())
+command! LCd lcd %:h
+command! LCr execute('lcd ' . FindGitDirOrHome())
" plugins options {{{1
" airline {{{2
nmap <silent> [og <Plug>IndentGuidesEnable
nmap <silent> ]og <Plug>IndentGuidesDisable
+" close-another-window {{{2
+nnoremap <silent> <C-W>c <NOP>
+nnoremap <silent> <C-W>cc <C-W>c
+nnoremap <silent> <C-W>ch :CloseLeftWindow<CR>
+nnoremap <silent> <C-W>cl :CloseRightWindow<CR>
+nnoremap <silent> <C-W>cj :CloseBelowWindow<CR>
+nnoremap <silent> <C-W>ck :CloseAboveWindow<CR>
+
" python-mode {{{2
let g:pymode_rope_completion = 0
let g:pymode_rope = 0
+let g:pymode_run = 0
let g:pymode_folding = 1
let g:pymode_lint_ignore = "E221,E266,E501"
+let g:pymode_lint_cwindow = 0 " don't open cwindow when linting
let g:pymode_syntax_space_errors = 0 " don't bother me when I'm typing
+" signature {{{2
+" disable '[ mappings
+
+let g:SignatureMap = {
+ \ 'GotoNextLineAlpha' : "",
+ \ 'GotoPrevLineAlpha' : "",
+ \ 'GotoNextSpotAlpha' : "",
+ \ 'GotoPrevSpotAlpha' : "",
+ \ }
+
" synastic {{{2
let g:syntastic_enable_highlighting = 0
let g:syntastic_error_symbol='E'
let g:unite_source_grep_default_opts = '--smart-case -w --vimgrep --hidden --ignore ''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr'''
let g:unite_source_grep_recursive_opt = ''
end
-nnoremap <silent> [unite]a :<C-u>Unite grep -input=\12\17<CR>
+nnoremap <silent> [unite]a :<C-u>Unite grep:.::\12\17<CR>
command! -nargs=1 Ag Unite grep -input=<args>
" unite-file_rec {{{3
nnoremap <silent> [unite]f :<C-u>Unite -start-insert file_rec/async<CR>
" unite-buffer {{{3
-call unite#custom#default_action('buffer', 'goto')
-nnoremap <silent> [unite]b :<C-u>Unite buffer<CR>
+call unite#custom#default_action('buffer', 'open')
+nnoremap <silent> [unite]b :<C-u>Unite buffer:-<CR>
" unite-menu {{{3
let g:unite_source_menu_menus = {}
let g:ycm_complete_in_strings = 1
let g:ycm_autoclose_preview_window_after_insertion = 0
"let g:ycm_extra_conf_vim_data = ['%:p']
-nnoremap gd :YcmCompleter GoTo<CR>
" vim-easy-align {{{2
" start interactive EasyAlign in visual mode