less

less

Если локаль (см. раздел “Настройка локали”) не настроена[7], то вывод кириллицы через less можно получить, установив переменную окружения LESSCHARSET:

 export
LESSCHARSET=UTF-8 

Это решение годится для всех 8-битовых кириллических кодировок.

Старые версии less не поддерживали эту установку, поэтому вместо UTF-8 в этом случае следует подставить latin1. При этом однако становятся недоступными символы, чьи коды находятся в диапазоне 128-159. К счастью, коды букв обычно вне этого диапазона.

При настроенной локали (см. раздел “Настройка локали”) указывать LESSCHARSET НЕ НАДО. Более того, в ˜/.lesskey надо добавить

#env
LESSCHARSET=

чтобы программа игнорировала установку LESSCHARSET= другими "глупыми"  программами (к примеру, man). После этого надо запустить lesskey для получения бинарного файла ˜/.less. В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв.

В качестве полумеры можно воспользоваться ключом r или row-control-chars. При использовании этого ключа возможен просмотр не ASCII символов в любых условиях, но при этом возникают побочные эффекты, описанные в man less.



[7] Локаль должна быть настроена. Как это сделать подробно расписано в разделе “Locale”