runtime! plugin/sensible.vim
nnoremap Y Y
+" Update wildmenu from sensible defaults
+set wildmode=longest:full,full
+
" Set the correct font for gvim
if has("gui_running")
if has("gui_gtk2")
set softtabstop=2 shiftwidth=2 expandtab
" cinoptions for code formatting
-set cinoptions=t0,us,U1,k2s
+set cinoptions=t0,U1,k2s,j1,J1
" File type specific settings.
if has("autocmd")
+ autocmd BufNewFile,BufRead /run/shm/* set nobackup nowritebackup noundofile
+ \ noswapfile viminfo="" noshelltemp history=0 nomodeline secure
autocmd filetype make setlocal sts=0 sw=8 noexpandtab tw=80 fo-=t fo+=j
autocmd filetype sh,ld setlocal sts=4 sw=4 tw=80 fo-=t fo+=j
autocmd filetype python setlocal sts=4 sw=4 tw=79 fo-=t fo+=j
nnoremap <silent> <leader>gd :Gdiff<CR>
nnoremap <silent> <leader>gc :Gcommit<CR>
nnoremap <silent> <leader>gb :Gblame<CR>
-nnoremap <silent> <leader>gl :Glog<CR>
+nnoremap <silent> <leader>gl :Git log<CR>
nnoremap <silent> <leader>gp :Git push<CR>
nnoremap <silent> <leader>gr :Gread<CR>
nnoremap <silent> <leader>gw :Gwrite<CR>
" Rainbow Parenthesis -- off by default but set toggle
nnoremap co( :RainbowParenthesesToggle<CR>
+" Toggle git gutter
+nnoremap cog :GitGutterToggle<CR>
+
" mkbuild tools
-nnoremap <silent> <leader>e :call mkbuild#DmenuOpen('e')<CR>
-nnoremap <silent> <leader>x :call mkbuild#SelectXrefs()<CR>
+nnoremap <leader>e :<C-u>Unite -start-insert -buffer-name=files mkbfiles<CR>
+nnoremap <leader>x :<C-u>Unite -buffer-name=xrefs xrefs<cr>
" Turn on doxygen syntax highlighting for C, C++, C# and IDL files.
let g:load_doxygen_syntax=1
"imap <leader>dD <C-R>=strftime('%Y-%m-%d')<CR>
"nmap <leader>dt "=strftime('%H:%M:%S')<CR>p
"imap <leader>dt <C-R>=strftime('%H:%M:%S')<CR>
+
+" Unite
+let g:unite_source_history_yank_enable = 1
+"call unite#filters#matcher_default#use(['matcher_fuzzy'])
+nnoremap <leader>uf :<C-u>Unite -no-split -start-insert -buffer-name=files file_rec<cr>
+nnoremap <leader>uy :<C-u>Unite -no-split -buffer-name=yank history/yank<cr>
+nnoremap <leader>ub :<C-u>Unite -no-split -start-insert -buffer-name=buffer buffer<cr>
+nnoremap <leader>uo :<C-u>Unite -no-split -start-insert -buffer-name=outline outline<cr>
+nnoremap <leader>ul :<C-u>Unite -no-split -start-insert -buffer-name=lines line<cr>
+nnoremap <leader>uc :<C-u>Unite -no-split -start-insert -buffer-name=quicklist qf<cr>
+nnoremap <leader>ut :<C-u>Unite -no-split -start-insert -buffer-name=tags tag<cr>
+nnoremap <leader>: :<C-u>Unite -start-insert -buffer-name=command history/command<cr>
+nnoremap <leader>/ :<C-u>Unite -start-insert -buffer-name=search history/search<cr>
+
+" Custom mappings for the unite buffer
+autocmd FileType unite call s:unite_settings()
+function! s:unite_settings()
+ "setlocal noswapfile undolevels=-1
+ " Play nice with supertab
+ let b:SuperTabDisabled=1
+ " Enable navigation with control-j and control-k in insert mode
+ imap <buffer> <C-n> <Plug>(unite_select_next_line)
+ imap <buffer> <C-p> <Plug>(unite_select_previous_line)
+ imap <buffer> <CR> <Plug>(unite_do_default_action)
+ nmap <buffer> <ESC> <Plug>(unite_exit)
+endfunction