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")
" mkbuild tools
nnoremap <silent> <leader>e :call mkbuild#DmenuOpen('e')<CR>
-nnoremap <silent> <leader>x :call mkbuild#SelectXrefs()<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>
+
+" 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