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>):
+
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>):
<pre>
<pre>
−
if &term =~ "linux"
+
if &term =~ "linux"
if has("terminfo")
if has("terminfo")
set t_Co=16
set t_Co=16
Line 30:
Line 30:
<pre>
<pre>
−
if bgcol > 7
+
if bgcol > 7
−
blink = on (<ESC>[5m)
+
blink = on (<Esc>[5m)
−
bgcolor = bgcol - 8 (<ESC>[4...m)
+
bgcolor = bgcol - 8 (<Esc>[4...m)
else
else
−
blink = off (<ESC>[25m)
+
blink = off (<Esc>[25m)
bgcolor = bgcol
bgcolor = bgcol
end
end
−
if fgcol > 7
+
if fgcol > 7
−
bold = on (<ESC>[1m)
+
bold = on (<Esc>[1m)
−
fgcolor = fgcol - 8 (<ESC>[3...m)
+
fgcolor = fgcol - 8 (<Esc>[3...m)
else
else
−
bold = off (<ESC>[22m)
+
bold = off (<Esc>[22m)
fgcolor = fgcol
fgcolor = fgcol
end
end
Line 48:
Line 48:
==Comments==
==Comments==
−
−
----
Latest revision as of 09:20, September 29, 2008
Please review this tip:
This tip was imported from vim.org and needs general review.
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