Wikia

Vim Tips Wiki

Get bright background colors in Linux console

Talk0
1,612pages on
this wiki
Revision as of 04:19, April 25, 2008 by JohnBot (Talk | contribs)

Tip 748 Printable Monobook Previous Next

created June 17, 2004 · complexity intermediate · author Michael Hofmann · version 6.0


To get 16 background colors in a linux framebuffer console to achieve an appearance like in a 16 color xterm, place the following in your vimrc (you have to use a real escape character instead of <ESC>, try something like <Ctrl-V><ESC>):

if &term =~ "linux"
  if has("terminfo")
    set t_Co=16
    " We use the blink attribute for bright background (console_codes(4)) and the
    " bold attribute for bright foreground. The redefinition of t_AF is necessary
    " for bright "Normal" highlighting to not influence the rest.
    set t_AB=<Esc>[%?%p1%{7}%>%t5%p1%{8}%-%e25%p1%;m<Esc>[4%dm
    set t_AF=<Esc>[%?%p1%{7}%>%t1%p1%{8}%-%e22%p1%;m<Esc>[3%dm
  endif
endif

Pseudo code for the terminfo entry:

if bgcol > 7
  blink = on (<ESC>[5m)
  bgcolor = bgcol - 8 (<ESC>[4...m)
else
  blink = off (<ESC>[25m)
  bgcolor = bgcol
end

if fgcol > 7
  bold = on (<ESC>[1m)
  fgcolor = fgcol - 8 (<ESC>[3...m)
else
  bold = off (<ESC>[22m)
  fgcolor = fgcol
end

Comments


Around Wikia's network

Random Wiki