2017-01-21 19 views
3

Я использую tmux для когда-то теперь,Tmux - Tmux истинный цвет не работает должным образом

Я использую Vim для кодирования, и я заметил, что некоторые недостатки, связанные с colorschemes ТОЛЬКО, когда я использую Vim с tmux.

Терминалы 256 цветов, когда я запускаю это: tput цветов

Когда я проверить мой терминал, чтобы увидеть, если поддерживать истинные цвета это результат:

curl -s https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh | bash 

выход из терминала это : enter image description here

, но когда я запускаю это в tmux: enter image description here

Я проверил результат эхо $ TERM, но оба они возвращают это:

xterm-256color 

Так что я действительно путают о том, что проблема может быть здесь = \

Любая идея?

Большое спасибо!

ответ

2

Возможно, вы заметили этого в настройке (можно увидеть, что вы упускать из виду Tc):

commit 427b8204268af5548d09b830e101c59daa095df9 
Author: nicm <nicm> 
Date: Fri Jan 29 11:13:56 2016 +0000 

    Support for RGB colour, using the extended cell mechanism to avoid 
    wasting unnecessary space. The 'Tc' flag must be set in the external 
    TERM entry (using terminal-overrides or a custom terminfo entry), if not 
    tmux will map to the closest of the 256 or 16 colour palettes. 

    Mostly from Suraj N Kurapati, based on a diff originally by someone else. 

в tmux.conf:

# Enable RGB colour if running in xterm(1) 
set-option -sa terminal-overrides ",xterm*:Tc" 

в страницы руководства:

TERMINFO EXTENSIONS 
    tmux understands some unofficial extensions to terminfo(5): 
... 
    Tc  Indicate that the terminal supports the ‘direct colour’ RGB 
      escape sequence (for example, \e[38;2;255;255;255m). 

      If supported, this is used for the OSC initialize colour escape 
      sequence (which may be enabled by adding the ‘initc’ and ‘ccc’ 
      capabilities to the tmux terminfo(5) entry). 

Что касается -s против -g, то manual page говорит:

set-option [-agoqsuw] [-t целевой сеанс | целевое окно] значение параметра (псевдоним: набор)
Установить вариант окна с -w (эквивалент команды установки окон опции), а сервера вариант с -s, в противном случае параметра сеанса. Если задано -g, глобальная сессия или окно установлен. Флаг -u отключает опцию, поэтому сеанс наследует опцию из глобальных опций (или с -g, восстанавливает глобальную опцию по умолчанию).

Флаг -o предотвращает установку уже установленной опции и -q флаг подавляет ошибки об неизвестном или неоднозначном вариантах.

С -a, и если опция ожидает строку или стиль, значение является добавляется к существующей обстановке.

Как я понимаю, Использование -s означает, что новые соединения (созданные сервером) получит эту настройку, которая полезна при инициализации оболочки, в то время как -g делает ее изменения слишком поздно для инициализации оболочки.

Дальнейшее чтение:

+2

Не могли бы вы объяснить разницу между 'Set-опцией -sA клеммных-переопределениях», Xterm *: Tc "и' set-option -ga terminal-overrides ", xterm-256color: Tc" '(что, по-видимому, рекомендуют большинство сообщений в блогах) до сих пор ваш sugested snippet' set-option -sa end-overrides ", xterm *: Tc" это единственное, что сработало для меня. –