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'
" needs editing colorscheme
" Plugin 'jeaye/color_coded'
+call vundle#end()
+
" remove entries first
set runtimepath -=$HOME/.vim
set runtimepath -=$HOME/.vim/after
" 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
+" 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
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'
if executable('ag')
" Use ag in unite grep source.
let g:unite_source_grep_command = 'ag'
- 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_default_opts = '--smart-case --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>
-command! -nargs=1 Ag Unite grep -input=<args>
+nnoremap <silent> [unite]a :<C-u>Unite grep:.::\12\17<CR>
+command! -nargs=1 Ag Unite grep:.::<args>
" unite-file_rec {{{3
if executable('ag')
let g:unite_source_rec_async_command = 'ag --follow --nocolor --nogroup --hidden -g ""'
end
nnoremap <silent> [unite]f :<C-u>Unite -start-insert file_rec/async<CR>
+call unite#custom#source('file_rec/async', 'sorters', 'sorter_selecta')
" 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