Não consigo que o terminal XFCE exiba os esquemas de cores do VIM

10

É isso que eu tenho no meu .bashrc

if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
    export TERM=xterm-256color
fi

No meu .vimrc eu tenho:

set t_Co=256

echo $ TERM imprime xterm-256color

cores tput imprime 256

Também executei um script chamado 256colors2.pl e todas as cores são impressas corretamente. Ainda o que vejo no meu terminal é este (esse é o tema "deserto"):

deserto

Além disso, o arquivo colortest.vim não é exibido corretamente:

Colortest

Aparentemente, ele mostra apenas a paleta de cores padrão do meu terminal.

Dorminhoco
fonte
Apenas para confirmar, o que diz a saída de " :verbose set term?" (com o ponto de interrogação como parte do comando)?
Heptite
"term = xterm-256color". Não sei o que acontece O terminal xfce está substituindo as cores?
Sleeper
Não deveria ser.
Heptite
Então você sabe como mudar isso?
Sleeper
Infelizmente não sei o que há de errado, então não sei. Não deve fazer diferença, mas o que acontece se você faz :set term=xterm-colorno Vim?
Heptite 5/05

Respostas:

1

Você precisa acessar as preferências do terminal xfce, clicar na guia Compatibilidade e verificar se a configuração de emulação é "xterm-256color" e não "xterm"

O motivo básico do problema pode ser encontrado neste artigo: https://codeyarns.com/2015/03/18/how-to-set-term-to-xterm-256color/

Basicamente, você precisa ter terminais baseados em VTE ou GNOME para definir a termvariável de ambiente antes que o shell seja chamado. As configurações acima farão isso acontecer no terminal XFCE

Mike Easley
fonte