изменение цвета нижней панели tmux

81

Я недавно начал использовать tmuxи мне это очень нравится, но его зеленая нижняя полоса немного отвлекает, есть ли способ изменить его цвет? или способ это скрыть?

Сэм
источник

Ответы:

97

В руководстве много вариантов . (Смотрите раздел OPTIONS.) Создайте файл RC: ~/.tmux.conf. Содержимое ниже включает UTF-8, устанавливает правильный тип TERM и рисует строку состояния с черным фоном и белым передним планом.

set status-utf8 on
set utf8 on

set -g default-terminal "screen-256color"

set -g status-bg black
set -g status-fg white

В FreeBSD 10.1 мне пришлось добавить -gк директивам UTF.

set -g status-utf8 on
set -g utf8 on

На UTF-8 многим клиентам SSH требуется один, чтобы явно определить набор символов для использования. Например, в Putty выберите Window -> Translation -> Remote character set: UTF-8и выберите Use Unicode line drawing code points.

И чтобы отключить строку состояния ...

set -g status off

По цветам из руководства ...

цвет сообщения

Задайте цвет фона строки состояния сообщения, где один из следующих цветов: черный, красный, зеленый, желтый, синий, пурпурный, голубой, белый, от colour0 до colour255 из 256-цветовой палитры или по умолчанию.

Итак, чтобы перечислить доступные цвета, сначала создайте скрипт , может быть colors.sh:

#!/usr/bin/env bash
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done

Далее выполните скрипт, отправив по адресу less:

colors.sh | less -r

Это создает список цветов, 1-255, в этом формате:

colour1
[...]
colour255

Выберите цвет из списка, возможно, colour240 , оттенок серого. В ~/.tmux.conf, используйте это значение, чтобы установить желаемый цвет:

set -g status-bg colour240

В Fedora 17 терминалы с 256 цветами не включены по умолчанию. Официальный метод, используемый для включения 256-цветных терминалов по умолчанию, приведен в вики проекта Fedora . Следуйте этому руководству или, в качестве индивидуального решения, создайте псевдоним для tmux для принудительной поддержки 256 цветов с помощью переключателя «-2».

alias tmux="tmux -2"

Затем запустите tmux, чтобы проверить это.

Обратите внимание, что, как указывает @ ILMostro_7, было бы неправильно устанавливать тип TERM для tmux, например, from ~/.bashrc. Каждая панель tmux эмулирует терминал - не то же самое, что xterm. Эмуляция tmuxдолжна соответствовать экрану, другому описанию терминала, чтобы вести себя правильно; но реальный терминал не должен это делать. Это описание есть xterm-256color.

Кристофер
источник
Это нормально работает для Ubuntu, но у меня Fedora 17, когда я установил fg color на Grey, он говорит «плохой цвет».
Сэм
Я использовал официальный метод из Fedora wiki и каждый раз, когда пытался войти в систему, возвращал эти сообщения об ошибках: -bash: $ '\ r': команда не найдена -bash: $ '\ r': команда не найдена -bash: $ ' \ r ': команда не найдена -bash: /etc/profile.d/256colors.sh: строка 13: синтаксическая ошибка рядом с неожиданным $'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: случаем токена «$ TERM» в. Также я использовал два других метода, которые я запускаю без ошибок, но ничего не делать!
Сэм
4
Чтобы установить bg-color на прозрачный:set -g status-bg default
Мистер Хайд,
1
Вот карта цветов: github.com/guns/xterm-color-table.vim/blob/master/… Пример: color260 - оранжевый. В Tmux нажмите Control-b, затем :set -g status-bg colour260. (Tmux использует международный «цвет» против американского «цвет».) Также обратите внимание, что у Tmux есть история, для обновления цвета используйте Control-b, затем :для входа в командный режим и нажмите стрелку вверх, чтобы отредактировать последнюю заданную цветовую команду.
johntellsall
может быть лучшим решением , чтобы использовать xterm-256colorвместо screen-256colorдля TERMпеременной среды.
ILMostro_7
25

Для меня это C-b, :set status-style "bg=red".

isomorphismes
источник
Это решение работало для меня на моем Mac с OS 10.10.5
Reina Abolofia
@ReinaAbolofia Отлично! = D
изоморфизм