X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/b59e03e7dfdb3f217e08585a87a1eae35fc74208..142642341841fb1d501db76a844d14178dca6da6:/vim/vimrc?ds=inline diff --git a/vim/vimrc b/vim/vimrc index 0651305..2cbf3b6 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -299,6 +299,24 @@ augroup cursor_pos \ endif augroup END +" Check for file modifications automatically {{{2 +" (current buffer only) +" Use :NoAutoChecktime to disable it (uses b:autochecktime) +fun! MyAutoCheckTime() + " only check timestamp for normal files + if &buftype != '' | return | endif + if ! exists('b:autochecktime') || b:autochecktime + checktime % + let b:autochecktime = 1 + endif +endfun +augroup MyAutoChecktime + au! + au FocusGained,BufEnter,CursorHold,InsertEnter * call MyAutoCheckTime() +augroup END +command! NoAutoChecktime let b:autochecktime=0 +command! ToggleAutoChecktime let b:autochecktime=!get(b:, 'autochecktime', 0) | echom "b:autochecktime:" b:autochecktime + " bindings {{{1 " allow both and / to be @@ -320,8 +338,21 @@ nnoremap p* :silent! set paste"*p:set nopaste " paste from clipboard nnoremap p+ :silent! set paste"+p:set nopaste -" Clean trailing whitespace -nnoremap ww m':%s/\s\+$//:let @/=''``zz +" strip trailing whitespace +function! StripWhitespace(line1, line2, ...) " {{{2 + let s_report = &report + let &report=0 + let pattern = a:0 ? a:1 : '[\\]\@,) +nnoremap ww :Untrail " Source vnoremap S y:execute @@:echo 'Sourced selection.' @@ -405,7 +436,9 @@ nnoremap i vnoremap s " fix legacy vi inconsistency -map Y y$ +nnoremap Y y$ +" copy to clipboard +xnoremap Y "+y " allow repeat operator on visual vnoremap . :normal . @@ -428,6 +461,11 @@ for idt in range(1,8) exe 'nnoremap co'.idt.' :set tabstop='.idt.' shiftwidth='.idt.' softtabstop='.idt.'' endfor +" toggle auto format of text +nnoremap coa :set =&formatoptions =~ "a" ? 'formatoptions-=a' : 'formatoptions+=a' +nnoremap [oa :set formatoptions+=a +nnoremap ]oa :set formatoptions-=a + " space will toggle current fold in normal mode nnoremap za " create folds around visual selection @@ -527,7 +565,9 @@ let g:tagbar_iconchars = ['+', '-'] " 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 = "" let g:UltiSnipsJumpForwardTrigger = "" let g:UltiSnipsJumpBackwardTrigger = "" @@ -617,9 +657,11 @@ let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*'] 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 jd :YcmCompleter GoTo +nnoremap gd :YcmCompleter GoTo " vim-easy-align {{{2 " start interactive EasyAlign in visual mode