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
-~----------~----~----~----~------~----~------~--~---

Reply via email to