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 default indent policy. smarttab, roundshift enabled by sensible
set softtabstop=2 shiftwidth=2 expandtab
+" cinoptions for code formatting
+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
autocmd filetype html,xml setlocal listchars-=tab:>. tw=80 fo-=t fo+=j
autocmd filetype markdown,mkd,md setlocal tw=80 fo-=t fo+=j
- autocmd filetype c,cpp,java setlocal tw=80 fo-=t fo+=j
- autocmd filetype nesc setlocal syntax=c.doxygen tw=80 fo-=t fo+=j
+ autocmd filetype c,cpp,java setlocal tw=80 fo+=jt
+ autocmd filetype nesc setlocal syntax=c.doxygen tw=80 fo+=jt
autocmd filetype text setlocal tw=80 fo+=jt
autocmd filetype tex setlocal tw=80 fo+=jt
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>
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
-" Highlight only long lines
-" This solution has two problems:
-" 1. On first file edit, the status bar does not render until a key is pressed
-" 2. When creating new lines the last column isn't known until it's arrived
-"augroup collumnLimit
-" autocmd!
-" autocmd BufEnter,WinEnter,FileType scala,java,c,nesc,make
-" \ highlight CollumnLimit ctermbg=LightGrey guibg=LightGrey
-" let collumnLimit = 79
-" let pattern =
-" \ '\%<' . (collumnLimit+1) . 'v.\%>' . collumnLimit . 'v'
-" autocmd BufEnter,WinEnter,FileType scala,java,c,nesc,make
-" \ let w:m1=matchadd('CollumnLimit', pattern, -1)
-"augroup END
-
-" The simpler solution to the above, which generates a column
if exists('+colorcolumn')
if v:version >= 703
" Set color column relative to defined textwidth.
" cop means to toggle auto pairing
nnoremap cop :DelimitMateSwitch<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>
+" mkbuild code search tools
+nnoremap <leader>e :<C-u>Unite -start-insert -buffer-name=files mkbuild/file_xref<CR>
+nnoremap <leader>E :<C-u>Unite -start-insert -buffer-name=files mkbuild/file<CR>
+nnoremap <leader>x :<C-u>Unite -buffer-name=xrefs mkbuild/xref<cr>
" Turn on doxygen syntax highlighting for C, C++, C# and IDL files.
let g:load_doxygen_syntax=1
let tmp = substitute(&formatoptions, 't', '', '')
if &formatoptions == tmp
set fo+=t
- :echo "Enable text wrap"
+ :echo ":set fo+=t"
else
set fo-=t
- :echo "Disable text wrap"
+ :echo ":set fo-=t"
endif
endfunction
let tmp = substitute(&formatoptions, 'a', '', '')
if &formatoptions == tmp
set fo+=a
- :echo "Enable auto-wrap paragraphs"
+ :echo ":set fo+=a"
else
set fo-=a
- :echo "Disable auto-wrap paragraphs"
+ :echo ":set fo-=a"
endif
endfunction
"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