Colored less, grep and ls

В одной старой заметке я рассказывал, как раскрасить вывод ls в tcsh (csh). Все работает хорошо до тех пор, пока вы не перенаправите вывод команды ls через пайп | другой команде, например less.

Раскрашенный вывод содержит специальные Escape-последовательности, которые обозначают начало и конец блока текста, который нужно, например, выделить, раскрасить или подчеркнуть. Если передать такой текст команде, которая его не понимает (или не отображает без специального ключа), она выведет на экран или в файл все эти добавленные символы.

Раскрашиваем less и more (colored less and more)

less и more поддерживают отображение раскрашенного вывода, но чтобы они его отображали корректно, т.е. в раскрашенном виде, нужен ключ –R:

<command> | less -R
<command | more -R

Можно добавить в файл настроек .cshrc:

alias less less -R

less (он же more*) еще умеет отображать man в раскрашенном виде (по умолчанию, там есть раскрашивание). man использует more для отображения вывода:

     -P pager  Specify which pager to use.  By default, man uses ``more -s''.
               This option overrides the PAGER environment variable.

* убедитесь сами, less и more – один и тот же файл:

ls -laio /usr/bin/less /usr/bin/more

Для того, чтобы man был раскрашен в цвета, добавьте в .cshrc строки:

Читать остальную часть заметки »

Теги: , , , , , , , , , , , , , , , , , , , , ,

Цветик-семицветик

Маленькое дополнение к статье о раскраске tcsh.

Если, после настроек цветов, нажать TAB, то файлы и каталоги выведутся раскрашенными, согласно наших настроек, и будут раскрашены определенные типы файлов (по названиям расширений). Но если просто набрать ls, ничего подобного не произойдет. Почему?

Все потому, что tcsh использует цвета из переменной LSCOLORS, а не LS_COLORS. Вместо ls можно использовать ls-F, встроенный в tcsh:

ls-F [-Option(s)] [file ...]
	       This built-in is just like `ls -F', but much faster.


Если ls-F вызывать с параметрами, он передаст их обычному ls:

ls-F passes its arguments to ls if it is given any switches,
so `alias ls ls-F' generally does the right thing.


Итак, добавляем алиас:

alias ls ls-F


и радуемся цветам 🙂


Теги: , , , , , , ,