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.