On Mon, 12 Jan 2009 22:10:06 +0800, Tony Mechelynck <antoine.mechely...@gmail.com> wrote:
> function SaveCursorColor() > redir => highlight > silent hi Cursor > redir END > if highlight =~ 'links to ' > let s:hl-link = matchstr(highlight, 'links to \zs\S*') > elseif highlight =~ '\<cleared\>' > let s:hl-link = 'NONE' > else > let s:hl-link = '' > for substr in ['term', 'cterm', 'ctermfg', 'ctermbg', > \ 'gui', 'guifg', 'guibg', 'guisp'] > if highlight =~ substr . '=' > let s:hl-{substr} = matchstr(highlight, > \ substr . '=\S*') > else > let s:hl-{substr} = '' > endif > endfor > endif > endfunction > function RestoreCursorColor() > if !exists('s:hl-link') > echoerr 'Cursor not saved, cannot restore' > return > endif > hi clear Cursor > if s:hl-link == '' > exe 'hi Cursor' s:hl-term s:hl-cterm s:hl-ctermfg > \ s:hl-ctermbg s:hl-gui s:hl-guifg s:hl-guibg > \ s:hl-guisp > elseif hl-link != 'NONE' > exe 'hi link Cursor' s:hl-link > endif > endfunction It's too complicated, if I want to save/restore highlight for others, it would need a big change. No other simple and generic way? -- Regards, Van. --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---