O esquema de cores solarizado do VIM parece errado ao usar o tmux

3

Estou tentando usar o esquema de cores solarizado no VIM usando o terminal gnome (Ubuntu). Quando eu executo o vim sem o tmux, parece ótimo, veja abaixo:

Seeuadicionarosseguintescomandosaomeu.bashrc

#tmuxconfigurationtmuxattach&>/dev/nullif[[!$TERM=~screen]];thenexectmuxfi

einicieoterminalcomotmux,ascoresnãoparecemcorretas,vejaabaixo:

Aqui está o conteúdo do arquivo .tmux.conf

source ~/.local/lib/python2.7/site-packages/powerline/bindings  /tmux/powerline.conf                    
set-option -g default-terminal "screen-256color"                                                                                                                                          
set-option -g history-limit 10000   

Estou usando o link para o esquema de cores vim, e o terminal é: link .

EDITAR: Com o tmux:

~$ echo $TERM
screen

Semotmux:

~$echo$TERMxterm

    
por user1135541 06.05.2015 / 15:52

5 respostas

4

O problema foi o tmux versão 1.8. Eu usei conselhos daqui:

link

Atualizado o tmux para a versão 1.9a, e o problema desapareceu.

    
por 06.05.2015 / 19:27
4

O valor de $TERM deve ser screen-256color , para que o Vim detecte corretamente a disponibilidade de 256 cores. ( tmux reutiliza as definições de terminal de screen , pois esta ferramenta implementa multiplexação similar.)

Você precisa definir o valor correto para TERM dentro do tmux, adicionando a linha

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

para ~/.tmux.conf ou forçar 256 cores no seu ~/.vimrc via set t_Co=256 (o que seria uma solução alternativa, e melhor protegido por if $TERM == 'screen' se você também usar terminais de cor não alta).

    
por 06.05.2015 / 16:49
2

Experimente o tmux -2, o -2 significa Force tmux para assumir que o terminal suporta 256 cores. Eu criei um alias para que o tmux sempre comece assim.

    
por 26.05.2015 / 17:50
2

Eu tive o mesmo problema com tmux e vim usando o tema solarizado. O problema foi resolvido com a ajuda deste post: link

Meus passos para resolver esse problema foram:

  1. Atualize o tmux para a versão 2.0. (Para ver qual é a sua versão atual, use: tmux -V )

  2. Adicionar suporte de terminal para o modo de 256 cores ( ~/.bashrc ):

    export TERM="screen-256color"
    alias tmux="tmux -2"
    
  3. Diga ao tmux qual tipo de terminal deve ser usado ( ~/.tmux.conf ):

    set -g default-terminal "screen-256color"
    
  4. Força o vim a usar 256 cores ( ~/.vimrc ):

    set t_Co=256                        " force vim to use 256 colors
    let g:solarized_termcolors=256      " use solarized 256 fallback
    

Reinicie o terminal para que as alterações entrem em vigor.

    
por 21.02.2016 / 01:09
0

Vim

~/.vimrc :

set t_Co=256
colorscheme <name>

Tmux

~/.tmux.conf :

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

Shell

Após as alterações anteriores, você deve adaptar seu fluxo de trabalho a uma destas opções:

Opção nº 1: sempre inicie o tmux com o argumento -2 :

tmux -2

Opção nº 2: configure um alias no seu arquivo de configuração do shell ( ~/.bashrc , ~/.zshrc ):

alias tmux="tmux -2"

Opção nº 3: crie um script tmux em /usr/local/bin/tmux e verifique se /usr/local/bin/ vem antes de /usr/bin em seu $PATH :

#!/bin/sh
/usr/bin/tmux -2 "$@"
    
por 09.06.2016 / 16:15