vim-settings/vim/rc/ui.rc.vim

103 lines
2.6 KiB
VimL
Raw Normal View History

2015-03-26 17:09:26 +00:00
" Display filename at bottom of window
set ls=2
"enable line numbers
set nu
" Highlights the line the cursor is on
set cursorline
:hi CursorLine cterm=NONE ctermbg=darkred guibg=darkred guifg=white
" Syntax Hightlighting
syntax on
" Enable search highlighting
set hls
" Color Schemes {{
" Set theme based on $VIM_COLOR variable
2019-10-16 16:49:04 +00:00
" TODO: move other colorscheme detection block up
2015-03-26 17:09:26 +00:00
try
if !empty($VIM_COLOR)
colorscheme $VIM_COLOR
else
2017-11-01 21:27:30 +00:00
" Prefered default colorscheme
colorscheme wombat256mod
2015-03-26 17:09:26 +00:00
endif
catch /^Vim\%((\a\+)\)\=:E185/
" Colorschemes not installed yet
" This happens when first installing bundles
colorscheme default
endtry
" }}
2019-10-16 16:49:04 +00:00
" Set gui specific values {{
2017-11-01 21:27:30 +00:00
if IsGuiApp()
2019-10-16 16:49:04 +00:00
colorscheme wombat256mod
2017-11-01 21:27:30 +00:00
if IsWindows()
2015-03-26 17:09:26 +00:00
set guifont=Consolas:h10:b
2017-11-01 21:27:30 +00:00
elseif IsMac()
2015-03-26 17:09:26 +00:00
try
2015-11-10 18:26:15 +00:00
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h11
2015-03-26 17:09:26 +00:00
catch
2019-10-16 16:49:04 +00:00
" Failed to set font, ok with default
2015-03-26 17:09:26 +00:00
endtry
endif
endif
" }}
" Set xterm and screen/tmux's title {{
set titlestring=vim\ %{expand(\"%t\")}
if &term =~ "^screen"
" pretend this is xterm. it probably is anyway, but if term is left as
" `screen`, vim doesn't understand ctrl-arrow.
if &term == "screen-256color"
set term=xterm-256color
else
set term=xterm
endif
" gotta set these *last*, since `set term` resets everything
set t_ts=k
set t_fs=\
set t_ut=
endif
2015-03-27 00:45:03 +00:00
set notitle
2015-03-26 17:09:26 +00:00
" }}
" Function and command to update colors based on light and dark mode
function! UpdateColors()
" Get the light color or default to VIM_COLOR
let light_color = $VIM_COLOR
if !empty($VIM_COLOR_LIGHT)
let light_color = $VIM_COLOR_LIGHT
endif
" Get the dark color or default to VIM_COLOR
let dark_color = $VIM_COLOR
if !empty($VIM_COLOR_DARK)
let dark_color = $VIM_COLOR_DARK
endif
" Detect using an env variable
let cmd = "echo $IS_DARKMODE"
" On macOS we can do something a bit more fancy
if IsMac()
let cmd = "osascript
\ -e 'tell application \"System Events\"'
\ -e 'tell appearance preferences'
\ -e 'return dark mode'
\ -e 'end tell'
\ -e 'end tell'"
endif
let dark_mode = substitute(system(cmd), '\n', '', 'g')
" Set colorscheme and background based on mode
if dark_mode == 'true'
execute 'colorscheme ' . dark_color
set background=dark
else
execute 'colorscheme ' . light_color
set background=light
endif
endfunction
command! UpdateColors call UpdateColors()
" au BufEnter *.* call UpdateColors()
call UpdateColors()