mudança de cor da barra inferior do tmux

80

Recentemente comecei a usar tmuxe gosto muito, mas a barra inferior verde é um pouco perturbadora, existe uma maneira de mudar de cor? ou uma maneira de escondê-lo?

Sam
fonte

Respostas:

96

Existem muitas opções fornecidas no manual . (Veja a seção OPÇÕES.) Crie um arquivo RC: ~/.tmux.conf. O conteúdo abaixo habilita o UTF-8, define o tipo de TERM correto e desenha a barra de status com um plano de fundo preto e primeiro plano branco.

set status-utf8 on
set utf8 on

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

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

No FreeBSD 10.1, eu tive que adicionar -gàs diretivas UTF.

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

No UTF-8, muitos clientes SSH exigem um para definir explicitamente um conjunto de caracteres a ser usado. Por exemplo, em Putty, selecione Window -> Translation -> Remote character set: UTF-8e selecione Use Unicode line drawing code points.

E para desligar a barra de status ...

set -g status off

Nas cores do manual ...

cor da mensagem-bg

Defina a cor do plano de fundo da mensagem da linha de status, onde a cor é uma das seguintes: preto, vermelho, verde, amarelo, azul, magenta, ciano, branco, cor0 a cor255 na paleta de 256 cores ou padrão.

Portanto, para listar as cores disponíveis, primeiro crie um script , talvez colors.sh:

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

Em seguida, execute o script, canalizando para less:

colors.sh | less -r

Isso produz uma lista de cores, 1-255, neste formato:

colour1
[...]
colour255

Escolha uma cor da lista, talvez a cor240 , um tom de cinza. Em ~/.tmux.conf, use este valor para definir a cor desejada:

set -g status-bg colour240

No Fedora 17, terminais de 256 cores não são ativados por padrão. O método oficial usado para habilitar terminais de 256 cores por padrão é dado no Wiki do Projeto Fedora . Siga esse guia ou, como solução por usuário, crie um alias para o tmux para forçar o suporte a 256 cores com a opção "-2".

alias tmux="tmux -2"

Então inicie o tmux para testá-lo.

Observe que, como @ ILMostro_7 aponta, não seria correto definir o tipo TERM para tmuxfrom, por exemplo ~/.bashrc,. Cada painel do tmux emula um terminal - não é a mesma coisa que um xterm. A emulação tmuxprecisa corresponder à tela, uma descrição diferente do terminal, para se comportar corretamente; mas o terminal real não precisa fazer isso. É descrição é xterm-256color.

Christopher
fonte
Isso funciona bem para o Ubuntu, mas no Fedora 17, quando defino a cor fg como Gray, ele diz "cor ruim".
Sam
Eu usei o método oficial do wiki do Fedora, e toda vez que tentei fazer o login, retornei essas mensagens de erro: -bash: $ '\ r': comando não encontrado -bash: $ '\ r': comando não encontrado -bash: $ ' \ r ': comando não encontrado -bash: /etc/profile.d/256colors.sh: linha 13: erro de sintaxe próximo ao $'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: caso inesperado do token "$ TERM" em .Também usei os outros dois métodos, corro sem erros, mas não fez nada!
Sam
4
Para definir bg-color como transparente:set -g status-bg default
Sr. Hyde
1
Aqui está o mapa de cores: github.com/guns/xterm-color-table.vim/blob/master/… Exemplo: color260 é laranja. No Tmux, pressione Control-b e, em seguida :set -g status-bg colour260. (O Tmux usa internacional "color" vs American "color".) Observe também que o Tmux possui histórico, para atualizar a cor do Control-b, :para entrar no modo de comando e pressione a seta para cima para editar o último comando de cor definido.
johntellsall
pode ser uma solução melhor para usar xterm-256colorem vez de screen-256colorpara a TERMvariável de ambiente.
ILMostro_7 04/04
24

Para mim é C-b, :set status-style "bg=red".

isomorfismos
fonte
Esta solução funcionou para mim no meu mac com os 10.10.5
Reina Abolofia 21/03
@ReinaAbolofia Great! = D
isomorfismos