vnoremap <MiddleMouse> s<MiddleMouse>
" fix legacy vi inconsistency
-map Y y$
+nnoremap Y y$
+" copy to clipboard
+xnoremap Y "+y
" allow repeat operator on visual
vnoremap . :normal .<CR>
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
" ultisnips {{{2
let g:UltiSnipsEditSplit = 'vertical'
let g:UltiSnipsSnippetsDir = expand("$XDG_CONFIG_HOME/vim/ultisnips")
-let g:UltiSnipsSnippetDirectories = ["UltiSnips", "ultisnips"]
+if has('fname_case')
+ let g:UltiSnipsSnippetDirectories = ["UltiSnips", "ultisnips"]
+endif
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
let g:ycm_global_ycm_extra_conf = expand('$XDG_CONFIG_HOME/vim/ycm_extra_conf.py')
let g:ycm_extra_conf_vim_data = ['getcwd()']
let g:ycm_add_preview_to_completeopt = 1
+let g:ycm_complete_in_comments = 1
+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 <leader>jd :YcmCompleter GoTo<CR>
+nnoremap gd :YcmCompleter GoTo<CR>
" vim-easy-align {{{2
" start interactive EasyAlign in visual mode