Не удалось установить цвета в соответствии с поддержкой терминала в .screenrc

StackOverflow https://stackoverflow.com/questions/928344

  •  06-09-2019
  •  | 
  •  

Вопрос

Я хотел бы иметь цикл if-else в .экранrc для следующих кодов, чтобы он запускался, если мой терминал поддерживает 256 цветов.В противном случае он не будет запущен.

attrcolor b ".I"
# tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"
termcapinfo xterm-color "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"

Как вы можете создать цикл if-else в .screenrc?

Это было полезно?

Решение

Это уже должно быть задано файлом базы данных terminfo.В моем случае моим терминалом по умолчанию является xterm.Он использует 8 цветов, что отражается в vi с помощью

:установить ограничение по срокам

выполните проверку элемента t_Co, для которого установлено значение 8.Если я поменяю свой терминал на другой тип терминала, например gnome-256color, который использует 256 цветов, то vi покажет t_Co равным 256.Я не уверен, зачем вам нужно пытаться установить это в вашем файле .vimrc.

Другие советы

Я считаю, что что-то подобное должно сработать, если у вас есть доступный bash:

#!/bin/bash
if [ "$TERM" = "xterm-256color" ]; then
    # do stuff for 256
else
    if [ "$TERM" = "xterm" ]; then
        # do stuff for 16
    else
        # do something else entirely
    fi
fi

Моя попытка создания псевдокода для .screenrc

[ -e t_Co(256) ] . ColorFile

То же самое и на английском

If 256 color support, then source ColorFile.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top