On 12/01/09 13:44, Yue Wu wrote: > As title, I want to change the setting of highlight for cursor, then > restore it back. >
The following is untested. It requires Vim version 7. 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 Best regards, Tony. -- "Consequences, Schmonsequences, as long as I'm rich." -- "Ali Baba Bunny" [1957, Chuck Jones] --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---