56 lines
2 KiB
VimL
56 lines
2 KiB
VimL
|
" Toggle Background
|
||
|
" Modified: 2011 Apr 29
|
||
|
" Maintainer: Ethan Schoonover
|
||
|
" License: OSI approved MIT license
|
||
|
|
||
|
if exists("g:loaded_togglebg")
|
||
|
finish
|
||
|
endif
|
||
|
let g:loaded_togglebg = 1
|
||
|
|
||
|
" noremap is a bit misleading here if you are unused to vim mapping.
|
||
|
" in fact, there is remapping, but only of script locally defined remaps, in
|
||
|
" this case <SID>TogBG. The <script> argument modifies the noremap scope in
|
||
|
" this regard (and the noremenu below).
|
||
|
nnoremap <unique> <script> <Plug>ToggleBackground <SID>TogBG
|
||
|
inoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>a
|
||
|
vnoremap <unique> <script> <Plug>ToggleBackground <ESC><SID>TogBG<ESC>gv
|
||
|
nnoremenu <script> Window.Toggle\ Background <SID>TogBG
|
||
|
inoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>a
|
||
|
vnoremenu <script> Window.Toggle\ Background <ESC><SID>TogBG<ESC>gv
|
||
|
tmenu Window.Toggle\ Background Toggle light and dark background modes
|
||
|
nnoremenu <script> ToolBar.togglebg <SID>TogBG
|
||
|
inoremenu <script> ToolBar.togglebg <ESC><SID>TogBG<ESC>a
|
||
|
vnoremenu <script> ToolBar.togglebg <ESC><SID>TogBG<ESC>gv
|
||
|
tmenu ToolBar.togglebg Toggle light and dark background modes
|
||
|
noremap <SID>TogBG :call <SID>TogBG()<CR>
|
||
|
|
||
|
function! s:TogBG()
|
||
|
let &background = ( &background == "dark"? "light" : "dark" )
|
||
|
if exists("g:colors_name")
|
||
|
exe "colorscheme " . g:colors_name
|
||
|
endif
|
||
|
endfunction
|
||
|
|
||
|
if !exists(":ToggleBG")
|
||
|
command ToggleBG :call s:TogBG()
|
||
|
endif
|
||
|
|
||
|
function! ToggleBackground()
|
||
|
echo "Please update your ToggleBackground mapping. ':help togglebg' for information."
|
||
|
endfunction
|
||
|
|
||
|
function! togglebg#map(mapActivation)
|
||
|
try
|
||
|
exe "silent! nmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||
|
exe "silent! imap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||
|
exe "silent! vmap <unique> ".a:mapActivation." <Plug>ToggleBackground"
|
||
|
finally
|
||
|
return 0
|
||
|
endtry
|
||
|
endfunction
|
||
|
|
||
|
if !exists("no_plugin_maps") && !hasmapto('<Plug>ToggleBackground')
|
||
|
call togglebg#map("<F5>")
|
||
|
endif
|