From: Simon Ruderich Date: Sat, 31 Mar 2012 22:46:52 +0000 (+0200) Subject: vimrc: Fix custom highlights disappearing in new windows. X-Git-Url: https://ruderich.org/simon/gitweb/?p=config%2Fdotfiles.git;a=commitdiff_plain;h=9b4244b95a76c59966a84a694b5a40068c993e65 vimrc: Fix custom highlights disappearing in new windows. --- diff --git a/vimrc b/vimrc index 9ae5f86..8c16cd4 100644 --- a/vimrc +++ b/vimrc @@ -497,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). @@ -520,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.