color console


ramok аватар

Подсветка потока ошибок в zsh

Часто сообщения об ошибках теряются в общем потоке вывода данных, и их хотелось бы как нибуть выделять. Тут опять пригодятся глобальные алиасы zsh.

Добавим в ~/.zshrc

autoload colors # подключим цвета
colors
 
alias -g  HE='2>>( sed -ue "s/.*/$fg_bold[red]&$reset_color/" 1>&2 )' # Highlight Errors

После перезагрузки zsh у нас появится глобальный алиас HE который можно использовать на ряду с другими фильтрами. Алиас запускает в фоне sed который подсвечивает строки, и перенаправляет ему в на выход стандартный поток ошибок

Пример работы: мы хотим найти в /etc все файлы в названии которых есть zsh и при этом подсветить в каких каталогах поиск не удался.

Пояснения: строка

$ find /etc HE GI zsh

Развернется в

find /etc 2>>( sed -ue "s/.*/$fg_bold[red]&$reset_color/" 1>&2 ) | grep -i zsh

Глобальный алиас GI описан здесь.
Подсведка результатов grep описана здесь

BUGS: алиас запускает асинхронный процесс подсведки цветов, что обозначает что подсвеченые ошибки могут выводится не синхронно с потоком стандартного вывода.

PS
Для пользователей bash существует полезный скрипт по подсвечиванию потока ошибок для программы переденной как параметр.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Просмотр diff из потока в цвете

Часто приходится смотреть diff не из файла, а из потока, например сформированный командой cvs diff или svn diff.
Удобно в таком случае просматривать в цвете в vim, не записывая в файл, а прямо в потоке.

наример:

$ svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdelibs/kdecore/
$ cd kdecore
$ svn diff -r 181258:183456 kglobalaccel_x11.cpp | vim -

diff покажется красиво раскрашенным Ж:-)

PS

0
Ваша оценка: Ничего

подсветка текста в консоли

Иногда хочется пропустить текст через такой фильтр, как grep, но чтобы он только подсветил совпадения, а не вырезал строки с ними.
Можно использовать вот такую функцию, которую можно добавить в ваш ~/.bashrc или ~/.zshrc:

function hilight 
{ 
        ESC=`echo -e "\033"` 
 
        COLORON="$ESC[1;33m" 
        COLOROFF="$ESC[1;0m" 
 
        if [ -z "$1" ] ; then 
                echo "Usage: hilight 'regex' [file1 file2 ...]" 1>&2; 
                return 1 
        fi 
 
        REGEX="$1" 
        shift 
 
        sed -e "s/${REGEX}/${COLORON}&${COLOROFF}/g" $* 
}

пример использования:

$ hilight слово *

UPD:
можно подобное реализовать на grep ( коментарий с пояснениями)

0
Ваша оценка: Ничего
alexu аватар

Цветной gcc, make, и diff

раз уж пошел разговор о цветах, то установив цветные фантики, можно также установить цветной gcc, make, и diff.
устанавливается пакетами:

colorgcc, colormake, colordiff

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

0
Ваша оценка: Ничего
ramok аватар

Цветной вывод команд в консоли

Устали от черно серого терминала(вариант: черно зеленого Ж:-)? Можно порадовать себя всевозможными способами в буквальном смысле разукрасить свою жизнь в консоли. Но как обычно этого может быть мало, и как всегда найдется человек доведший идею до мараз^W логического конца Ж:-)

Этот набор врапперов над более чем 80 самыми расспространенными программами(df, ping, gcc... так же наиболее часто используемыми файлами /etc/fstab, /var/log/messages...) который разукрашивает вывод этих команд в косоли. Читаем дальше...

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Как раскрасить приглашения bash

Заносится в ~/.bashrc. При выполнении su root меняются цвета.
COLOR1="\[\033[0;36m\]"
COLOR2="\[\033[0;33m\]"
COLOR3="\[\033[0;38m\]"
COLOR4="\[\033[0;32m\]"

if [ "$UID" = 0 ]; then
    # I am root
    COLOR2="\[\033[0;31m\]"
    PS1="$COLOR1[$COLOR1\u$COLOR2@$COLOR1\h$COLOR2:$COLOR4\W$COLOR1]$COLOR2# $COLOR3"
else
    PS1="$COLOR1[$COLOR1\u$COLOR2@$COLOR1\h$COLOR2:$COLOR4\W$COLOR1]$COLOR2\$ $COLOR3"
fi
0
Ваша оценка: Ничего
ramok аватар

расцветка имен файлов при автодолнении в zsh

добавте в ~/.zshrc

eval `dircolors`
zstyle ':completion:*:default' list-colors "${(s.:.)LS_COLORS}"

теперь например при
$ cd /[TAB]
выведутся варианты имен файлов в цвете

цвета будут такие же как и при ls --color

если хотите настроить свои цвета то читаем
man dircolors
man 5 dir_colors

Вот более портируемый вариант, который будет работать и в *BSD системах где dircolors нет

if which dircolors > /dev/null; then
    eval `dircolors`
else
  LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:"
  LS_COLORS="${LS_COLORS}or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:"
  LS_COLORS="${LS_COLORS}*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:"
0
Ваша оценка: Ничего
ramok аватар

подсветка результатов работы grep

GNU grep имеет удобную возможность подсвечивать цветом найденный паттерн добавте это в ~/.bashrc или ~/.zshrc
GREP_OPTIONS='--color=auto'
#GREP_COLOR='5;38' #мигающий
GREP_COLOR='1;33' #ярко-желный на черном
export GREP_OPTIONS GREP_COLOR
0
Ваша оценка: Ничего

ls | less в цвете

Чтобы содержимое большого каталога показывалось в цвете и при использовании less, можно воспользоваться следующей командой: ls --color | less -R.

Пояснение: --color нужно чтобы ls включило поддержку цвета несмотря на то, что его stdout - не терминал. Опция -R заставляет less не перехватывать ESC-последовательности, управляющие цветом, а передавать их дальше, так что они обрабатываются драйвером консоли и приводят к правильному результату.

PS. Можно создать соответствующий скрипт или, например, функцию в bash:

l() { ls --color "$@" | less -R; }

Тогда можно вызывать l -l для получения ls -l в цвете с прокруткой.

0
Ваша оценка: Ничего

alias и функции, как средство настройки оболочки по себя

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

0
Ваша оценка: Ничего