enquanto estiver usando o vim no tmux, posso ver que o suporte a 256 cores está ativado. com cores $ tput
No entanto, alterar o esquema de cores no vim enquanto no tmux alterará o esquema de cores em uma base por linha, mas não em todo o plano de fundo. veja a captura de tela
Aqui está um trecho do meu arquivo .vimrc, por exemplo. Meu esquema de cores original é escuro solarizado e depois de executar: colorscheme molokai, você vê o que acontece.
informação
- gnome-terminal
- bater
no meu ~ / .tmux.conf
set -g default-terminal "screen-256color"
no meu ~ / .vimrc
set t_Co=256
no meu ~ / .bashrc
# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"
no meu ~ / .profile
# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
Alguma idéia de como posso obter uma alteração completa do esquema de cores no vim? Todos os meus snippets dos arquivos estão com boa aparência?
Respostas:
Pela aparência do seu .bashrc e .profile, os shells dentro do tmux estão substituindo a configuração 'default-terminal' no seu tmux conf. Algo assim:
TERM=screen-256color
TERM=xterm-256color
você pode verificar isso executando
em um shell tmux fresco.
O Tmux é relativamente exigente em ter um terminal configurado corretamente. Se puder, defina o valor do termo na configuração do gnome-terminal, não no seu .bashrc. Caso contrário, envolva essas configurações com uma verificação de TERMO "tela" ou "tela com 256 cores" e não as redefina nesse caso.
O Tmux REALMENTE deseja que o terminal seja definido como
screen
ouscreen-256color
fonte
set -g default-terminal "screen-256color"
linha em seu tmux conf.if [[ $TERM == xterm ]]; then TERM=xterm-256color; fi
, funcionou para mim.Como explicado aqui , desative Apagamento de cor de fundo (BCE) limpando a
t_ut
opção do terminal (execute:set t_ut=
no Vim e pressione Control+ Lpara atualizar a exibição do terminal) para que os esquemas de cores funcionem corretamente quando o Vim for usado nas telas do tmux e GNU.fonte
set t_ut=
ao meu vimrc, o que remove a necessidade de usar manualmente o comando e não há necessidade de usar <kbd> Control </kbd> + <kbd> L </kbd>, pois a sessão começa com o BCE desativado.Eu encontrei uma maneira melhor neste post . Você pode criar um alias do tmux no
tmux -2
qual forçará o tmux a assumir que o shell está usando o terminal de 256 cores.fonte
Isto é o que funcionou para mim no #Ubuntu e no #Mac:
Recarregar configurações:
Configure o .bashrc para Mac (conforme usado pelo tmux)
Configure a opção "terminal padrão" em ~ / .tmux.conf.
fonte
Uma solução rápida é executar o seguinte no terminal.
export TERM=xterm-color
Você pode adicioná-lo ao seu
~/.bash_profile
ou a outro perfil para sempre ser definido no início.fonte
.zshrc
para obter o modo visual realmente visível.Eu tive um problema muito semelhante ao gnome-terminal + tmux + vim, mas foi estendido também ao problema específico de combinação de teclas:. Eu tive que combinar algumas coisas. Antes de tudo, eu tinha que configurar meu .tmux.conf no:
Em seguida, em .vimrc:
E isso fez o trabalho para as chaves e os antecedentes.
fonte
Se você ainda enfrentar problemas: notei que o vim volta a usar a opção
t_Co=8
dentro do tmux, mesmo que$TERM
esteja definido comoscreen-256color
. Minha solução alternativa é esse trecho de código no vimrc:A
$TMUX
variável é preenchida apenas se estiver dentro de uma sessão tmux. Nesse caso, permito que o vim use 256 cores. Note que eu também desabilitei termguicolors porque o tmux não suporta cores verdadeiras.fonte
Só agora enfrentou o mesmo problema. Com base na resposta do bloy e no conteúdo atual do meu perfil ~ /. (Na verdade, é o mesmo que winchendonsprings '), resolvi meu problema da seguinte maneira:
~/.profile
:A lógica é simples: se não estivermos dentro da sessão tmux, use xterm (colorido ou não). Caso contrário, a mesma coisa para a tela.
Talvez seja muito detalhado, mas você entendeu.
fonte