X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=40e95ba3c9a798419ca7a1753859c1c8c1ff2fe8;hb=0e8b792fbd7886b686e5d5d19903ee721eadddf6;hp=306e838615498c0975fefa448bdb7b7e524dea24;hpb=c7773137ac274d58e7bd68d7c6bb67e6b7f272bf;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index 306e838..40e95ba 100644 --- a/vimrc +++ b/vimrc @@ -189,7 +189,7 @@ set formatoptions+=ro " started. set formatoptions+=l " Remove comment leader when joining lines where it makes sense. -if HasVersionAndPatch(703, 541) +if s:HasVersionAndPatch(703, 541) set formatoptions+=j endif @@ -416,19 +416,19 @@ if has('statusline') " Short function names to make 'statusline' more readable. function! SBC() - return StatuslineBufferCount() + return s:StatuslineBufferCount() endfunction function! SRF() - return StatuslineRelativeFilename() + return s:StatuslineRelativeFilename() endfunction function! SFF() - return StatuslineFileFormat() + return s:StatuslineFileFormat() endfunction function! SFE() - return StatuslineFileEncoding() + return s:StatuslineFileEncoding() endfunction function! SSG() - return StatuslineSyntaxGroup() + return s:StatuslineSyntaxGroup() endfunction set statusline= @@ -447,10 +447,12 @@ if has('statusline') set statusline+=%m " [+] if buffer was modified, " [-] if 'modifiable' is off set statusline+=%r " [RO] if buffer is read only - set statusline+=%#Error# " display warnings - set statusline+=%{SFF()} " - unexpected file format - set statusline+=%{SFE()} " - unexpected file encoding - set statusline+=%## " continue with normal colors + if v:version >= 700 " %#..# needs 7.0 + set statusline+=%#Error# " display warnings + set statusline+=%{SFF()} " - unexpected file format + set statusline+=%{SFE()} " - unexpected file encoding + set statusline+=%## " continue with normal colors + endif " on the right set statusline+=%= " right align @@ -606,10 +608,10 @@ endif " on Freenode for an improved version which doesn't clobber any marks. nnoremap ; :call setline(line('.'), getline('.') . ';') +if has('eval') " * and # for selections in visual mode. Thanks to " http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html " and all nerds involved (godlygeek, strull in #vim on Freenode). -if has('eval') function! s:VSetSearch() let l:temp = @@ " unnamed register normal! gvy @@ -620,6 +622,16 @@ if has('eval') endfunction vnoremap * :call VSetSearch()// vnoremap # :call VSetSearch()?? + +" Use 'noignorecase' for * and #. See comment in s:VSetSearch() for details. +" Thanks to the writers of s:VSetSearch(), see above. + function! s:NSetSearch() + let l:cword = expand('') + let l:regex = substitute(escape(l:cword, '\'), '\n', '\\n', 'g') + let @/ = '\C\V'. '\<' . l:regex . '\>' + endfunction + nnoremap * :call NSetSearch()// + nnoremap # :call NSetSearch()?? endif " I often type "W" instead of "w" when trying to save a file. Fix my mistake. @@ -759,7 +771,7 @@ if has('syntax') if !&diff && exists(':2match') " Use ColorColumn for overlong lines if available and my color " scheme is used. - if &t_Co == 256 && HasSyntaxGroup('ColorColumn') + if &t_Co == 256 && s:HasSyntaxGroup('ColorColumn') 2match ColorColumn /\%>78v./ else 2match Todo /\%>78v./ @@ -791,17 +803,17 @@ if has('syntax') " Special highlight for tabs to reduce their visibility in contrast to other " SpecialKey characters (e.g. ^L). - if &t_Co == 256 && HasSyntaxGroup('specialKeyTab') + if &t_Co == 256 && s:HasSyntaxGroup('specialKeyTab') call matchadd('specialKeyTab', '\t') endif endif endfunction " Enable highlights for the current and all new windows. Thanks to bairui in " #vim on Freenode (2012-04-01 00:22 CEST) for the WinEnter suggestion. - call CustomSyntaxHighlights() + call s:CustomSyntaxHighlights() if has('autocmd') augroup vimrc - autocmd WinEnter * call CustomSyntaxHighlights() + autocmd WinEnter * call s:CustomSyntaxHighlights() augroup END endif @@ -958,7 +970,7 @@ if has('autocmd') echoerr 'Do not edit this file! (Maybe a template file.)' endfunction - autocmd BufRead * call SearchForDoNotEditHeader() + autocmd BufRead * call s:SearchForDoNotEditHeader() " AFTER/FTPLUGIN AUTO COMMANDS