X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=8c16cd4b31f22de2792f622d4cefbe76d5723e29;hb=9b4244b95a76c59966a84a694b5a40068c993e65;hp=20685e94930d75e6b0ba75f06fea735d339f4bf1;hpb=be676bfae2c0ef626e3c132ab9c59f147116aec5;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index 20685e9..8c16cd4 100644 --- a/vimrc +++ b/vimrc @@ -368,7 +368,9 @@ if has('eval') function! s:VSetSearch() let l:temp = @@ normal! gvy - let @/ = '\V' . substitute(escape(@@, '\'), '\n', '\\n', 'g') + " Added \C to force 'noignorecase' while searching the current visual + " selection. I want to search for the exact string in this case. + let @/ = '\C' . '\V' . substitute(escape(@@, '\'), '\n', '\\n', 'g') let @@ = l:temp endfunction vnoremap * :call VSetSearch()// @@ -495,6 +497,15 @@ if has('syntax') augroup END endif +" Function to enable all custom highlights. Necessary as highlights are +" window-local and thus must be set for each new window. + function! s:CustomSyntaxHighlights() + " Not the first time called, nothing to do. + if exists('w:vimrc_syntax_run') + return + endif + let w:vimrc_syntax_run = 1 + " Highlight lines longer than 78 characters. Thanks to Tony Mechelynck " from the Vim mailing list. It can easily be " disabled when necessary with :2match (in Vim >= 700). @@ -518,6 +529,16 @@ if has('syntax') call matchadd('Error', '\%u' . s:x) endfor 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() + if has('autocmd') + augroup vimrc + autocmd WinEnter * call CustomSyntaxHighlights() + augroup END + endif + " Settings for specific filetypes.