Saturday, September 24, 2016

Re: Is vim supporting 24 bit colors?

2016-09-24 19:04 GMT+03:00 Tony Mechelynck <antoine.mechelynck@gmail.com>:
> On Sat, Sep 24, 2016 at 5:40 PM, Nikolay Aleksandrovich Pavlov
> <zyx.vim@gmail.com> wrote:
>> 2016-09-24 7:05 GMT+03:00 Tony Mechelynck <antoine.mechelynck@gmail.com>:
>>> On Fri, Sep 23, 2016 at 4:26 AM, KiYugadgeter <zyouhousikaku@gmail.com> wrote:
>>>> Is vim supporting 24 bit colors?
>>>>
>>>> I want to use vim on windows10 bash.
>>>>
>>>> windows 10 bash is supporting 24bit colors on beta version.
>>>>
>>>> Will vim support 24bit colors?
>>>
>>> Vim supports between 2 (2^1) and 16777216 (2^24) colors, depending on
>>> how many _it can tell that_ your terminal supports. This is set by the
>>> termcap variable t_Co or by the equivalent terminfo setting, and these
>>> settings depend in turn on the 'term' setting (q.v.) If $TERM is not
>>> set, and Vim has no way of knowing otherwise, it will set an
>>> OS-dependent 'term' default: for 32- or 64-bit Windows, 'term'
>>> defaults to "win32". To see the number of colours Vim thinks that your
>>> terminal supports, use
>>> :set t_Co?
>>
>> &t_Co will never give you 24-bit value. Also termcap/terminfo do not
>> normally contain information about 24-bit colors support, though tmux
>> developers has selected some custom setting they use to detect 24-bit
>> support. Vim AFAIK does not use it.
>
> You can set t_Co yourself early in the vimrc (before any of the following:
> runtime vimrc_example.vim
> source $VIMRUNTIME/vimrc_example.vim
> " or the same for defaults.vim
> syntax on
> syntax enable
> colorscheme something-or-other
> ) and it will stick. The problem is how to set ctermfg= and ctermbg=
> values for the desired colors, since the correspondence between GUI
> #rrggbb color values and cterm color indices is usually opaque.
>
> I just tried the following in a Huge gui-enabled Vim running in console mode:
> set t_Co=16777216 t_Co?
> and it answered
> t_Co=16777216
> so it _is_ possible to set that high a value. What I don't know is
> which terminals, if any, really support that many colors, nor how to
> use them, and AFAIK no pre-programmed colorscheme uses that many
> colors for ctermfg= ctermbg=

I was false when saying that you can't set &t_Co to such value, but
this does not change the key point: terminals which support 24-bit
colors use different escape sequences for expressing such colors. So
you will not see such a high value in termcap/terminfo.

I also would not be surprised to hear that some software is written in
a way so that it supports only no more then three digits in Co
termcap/terminfo entry.

>>
>>>
>>> For me, 256 colors are good enough, and once I set up my vimrc to make
>>> Vim use (as closely as possible) the same colors in a console and in
>>> the GUI, I can't tell the difference by the naked eye. See
>>> http://vim.wikia.com/wiki/Using_GUI_color_settings_in_a_terminal
>>>
>>> See also ":help term.txt", especially the first two sections.
>
> I stand by the above two paragraphs.
>>>
>>>
>>> Best regards,
>>> Tony.
>
> --
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: