Пара полезных вещеё для zshzsh, linux, tips, dotfiles, цвета

Немного проапдейтил свои .zshrc добавив глобальный алиас для разукрашивания ошибок в выводе программ.

Для разукрашивание ошибок подойдет алиас
alias -g ERR='2>>( sed -ue "s/.*/$fg_bold[red]&$reset_color/" 1>&2 )'
(необходимо что бы был загружен модуль цветов autoload colors && colors)
Для перехода в родительские каталоги появилась функция
dot() {
	if [[ $LBUFFER = *.. ]]; then
		LBUFFER+=/..
	else
		LBUFFER+=.
	fi
}
И её вызов
autoload -U dot
zle -N dot
bindkey . dot
Теперь zsh нам сам дописывает /.. когда мы вводим более двух точек. Т.е. ... заменяется на ../.. если вводим ещё одну точку то строка примет вид ../../.. и так далее.
23-06-2009, 21:20    Комментарии: 0

Разукрашиваем вывод комманд с помощью grclinux, tips, shell, grc, цвета

цветные логиgrc позволяет разукрашивать некоторые команды, к примеру ping, tracerout, make и некоторые другие, к тому же можно добавить свои.

Арчеводам yaourt -S grc или PKGBUILD, остальным поиск по репам или на оффсайт программы.

Копируем конфиги (пути в разных дистрибутивах могут несколько отличатся, пишу на примере Arch Linux) к себе в домашнюю директорию cp -r /usr/share/grc ~/.grc и cp /etc/grc.conf ~/.grc/grc.conf и добавляем новые команды в grc.conf и изменяем цвета. Формат довольно прост, а вот добавлять новые уже потруднее (нужно знать python регекспы), но по образу и подобию уже имеющихся можно справиться и без знания регулярок, к тому же в README описано несколько полезностей.

В общем теперь в мой .zshrc добавились строки вида
if [ -f /usr/bin/grc ]; then
  alias ping="grc --colour=auto ping"
  alias traceroute="grc --colour=auto traceroute"
  alias make="grc --colour=auto make"
  alias diff="grc --colour=auto diff"
  alias cvs="grc --colour=auto cvs"
  alias netstat="grc --colour=auto netstat"
fi

А для разукрашивания логов алиасы
alias logc="grc cat"
alias logt="grc tail"
alias logh="grc head"


Кстати, почему-то, неправильный chmod на некоторые файлв в /usr/share/grc (в самом архиве программы чтения только для владельца) - поэтому перед копированием не помешает дать права юзверям на чтения su -c 'chmod o+r /usr/share/grc/*'.

Приятной цветовой гаммы вам в консоли ^_^
04-03-2009, 11:27    Комментарии: 1

Цвета в консоли zshzsh, shell, linux, цвета, dir_colors

Не так давно сменил цветовую схему иксового эмулятора терминала - льняной (#e0e0e0) фон и сероватый (#737373) текст.
После чего стала напрягать дефолтная цветовая схема файлов в ls и автодополнении zsh. Вспомнил что с незапамятных мне времен в .zshrc имеется строка
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
которая берет цвета от ls себе в автодополнение, хотя можно и настроить по своему тем же методом. Как сменить цвета у вывода ls обнаружилось моментально - утилита dircolors с помощью конфигов /etc/DIR_COLORS и ~/.dir_colors задает переменную окружения LS_COLORS которая у меня и используется в zsh. Лишний раз ковырять какие-то конфиги мне не хотелось поэтому да определения цветов в .zshrc решил експортировать и переменную LS_COLORS.

Осталось только сообразить какой формат у этой переменной.
mam dir_colors и чужие файлы конфигурации спасли отца русской демократии от вытекания глаз глядя на собственный терминал.
В итоге строка в zshrc
export LS_COLORS='no=00;37:fi=00;37:di=01;36:ln=04;36:pi=33:so=01;35:do=01;35:bd=33;01:cd=33;01:or=31;01:su=37:sg=30:tw=30:ow=34:st=37:ex=01;31:'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

Группы цифр разделенные между собой точкой с запятой обозначает фон или отображение текста. 00 это сброс в цвета по умолчанию.
01 включить яркие цвета
04 подчеркнутый текст
05 мигающий текст

30 черный текст
31 красный текст
32 зеленый текст
33 желтый (или коричневый) текст
34 синий текст
35 фиолетовый текст
36 cyan текст (сине-зеленый аква, не знаю как этот цвет называется по-русски)
37 белый (или серый) текст

40 черный фон
41 красный фон
42 зеленый фон
43 желтый (или коричневый) фон
44 синий фон
45 фиолетовый фон
46 cyan фон
47 белый (или серый) фон


Так же можно разукрашивать и файлы по расширениям. К примеру можно показывать все картинки cyan цветом
*.jpg=36:*.jpeg=36:*.gif=36:*.bmp=36:*.pbm=36:*.pgm=36:*.ppm=36:*.tga=36:*.xbm=36:*.xpm=36:*.tif=36:*.tiff=36:*.png=36


Кстати, с помощью конфига dir_colors можно указать цвета и для каждого типа терминала в отдельности (секция TERM terminal-type). Но с конфигом ковыряться лень, ибо моя консоль и так приняла приняла боевую раскраску которая не напрягает мое и без того нехорошее зрение.

Спонсоры:
Фильм! Фильм! Фильм! Предлагаем посмотреть фильмы онлайн на нашем сайте. Кто в этот мир попал навеки счастлив стал.
24-12-2008, 12:07    Комментарии: 1