Как включить цвет текста в vim? - PullRequest
0 голосов
/ 15 октября 2019

У меня есть файл, о котором я сообщаю ежедневно, используя скрипт оболочки. В этом отчете также есть цветные тексты.

Обычно, когда файл выполняется, отображается цветной текст, но когда результат сохраняется в файле журнала и файл журнала открывается Vim, код цветавместо цвета отображается.

У меня нет доступа для установки каких-либо пакетов в Linux!

Я хочу написать красочное в файл, я пытался найти ответ, но не нашел егопока!

Ввод 1:

green=`tput setaf 2`
reset=`tput sgr0` 
echo -e "\n====== ${green}Instance Status${reset} ======\n"

Ввод 1: файл, открытый в Vim:

====== ^ [[32mInstance Status ^ [(B ^[[m ======

ИЛИ

Вход 2:

  if [ -t 1 ] ; then
    green=$'\x1b\x5b32m'   
    reset=$'\x1b\x5b0m'   
else 
    green=
    reset=
fi   
echo -e "\n====== ${green}Instance Status${reset} ======\n"

Выход 2: файл, открытый в Vim:

====== Состояние экземпляра ======

1 Ответ

1 голос
/ 15 октября 2019

Вы должны изменить скрипт экспортера, чтобы использовать цветовые коды только тогда, когда вывод идет на терминал:

#!/bin/bash

if [ -t 1 ] ; then
    color_red=$'\x1b\x5b31m'
    color_green=$'\x1b\x5b32m'
    # ... 
    color_end=$'\x1b\x5b0m'
else
    color_red=
    color_green=
    color_end=
fi

echo "${color_green}Success${color_end} foo"
echo "${color_red}Error${color_end} bar"

Когда вывод идет на терминал, он цветной, когда вы пишете в файл, он не цветной:

bash script.sh # colored
bash script.sh > foo.txt
cat foo.txt # not colored
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...