Como posso impedir que o OS X Terminal.app substitua as cores do vim em um sistema remoto?

1

Como minha estação de trabalho principal, eu uso um Mac executando o OS X 10.5. Passei grande parte do dia ssh em sistemas remotos e estou trabalhando no groimking vim. Uma das coisas que quero fazer é experimentar esquemas de cores diferentes.

O problema que encontro é que minhas configurações de Terminal.app substituem as cores especificadas no esquema de cores vim. Um exemplo muito simples é a cor de fundo. Se eu escolher, digamos, o esquema de cores 'deserto' no vim no servidor remoto, o plano de fundo deve ser preto. Se eu, então, usar as preferências do Terminal para definir minha cor de fundo para uma laranja intensa, minha preferência de terminal ganha.

Eu quero que minhas preferências de Terminal venham para shells locais, mas eu quero qualquer coisa que eu especifique em sistemas remotos para ganhar nelas. Isso é possível?

    
por Rob Drimmie 24.02.2011 / 19:10

1 resposta

2

[ Atualização: A partir do Mac OS X O Lion 10.7 Terminal suporta tanto o BCE como 256 cores.]

Você provavelmente encontrará dois problemas:

  1. O terminal não suporta o modelo de apagar a cor de fundo (BCE) †. O vim requer um terminal BCE para preencher a cor de fundo das áreas em branco.

  2. O terminal suporta apenas as 16 cores ANSI, não o modelo de 256 cores estendido. Alguns esquemas de cores vim, como "desert256", exigem suporte de 256 cores para selecionar cores específicas.

Se você usa a mesma configuração no Xterm (executa o vim em uma máquina remota com o esquema de cores selecionado) e se comporta como esperado, um ou ambos são o que você está encontrando.

† BCE significa que certas seqüências de controle do terminal, como "apagar para final de linha" e "limpar tela", preencherão as áreas limpas com a cor de fundo do texto atualmente selecionada. Os emuladores de terminal que não são da BCE exibem qualquer plano de fundo estático exibido normalmente. Alguns programas detectam se o terminal suporta BCE (via terminfo) e "manualmente" preenchem áreas em branco com caracteres de espaço, mas o vim não.

(o BCE existe para tornar mais eficiente o preenchimento da cor do plano de fundo em grandes áreas da exibição e a eliminação de caracteres de espaço indesejados ao copiar texto de um emulador, por exemplo. terminal sempre suportado BCE, é inteiramente uma característica de alguns emuladores de terminal modernos.)

    
por 14.05.2011 / 04:40