`less` не может отображать специальные символы
Я наткнулся на плохих специальных персонажей на некоторых страницах:
Если ваш терминал является "истинным" терминалом с автоматическим запасом (он не позволяет<80><99>обновлять последнюю позицию на экране без прокрутки экрана), рассмотрите вариант использования своего терминала your<80><99>s termcap, у которого автоматические поля отключены. Это обеспечит точное и оптимальное обновление экрана при любых обстоятельствах. В настоящее время большинство терминалов имеют "магические" поля (автоматические поля плюс последний используемый столбец). Это стиль VT100 и идеально подходит для экрана. Если все, что вы<80><99>получили, это [...]
Я сделал некоторые исследования. man
использования $pager
в качестве инструмента отображения, и это установлено less
в моем окружении. Так видимо less
не может отображать специальные символы man-страниц.
Мой терминал (замазка) установлен в Utf-8, и $LANG=en_US.UTF-8
, Что может быть не так?
2 ответа
Посмотрите сначала, если у вас есть LESSCHARSET
переменная окружения установлена.
echo $LESSCHARSET
Если это не так utf-8
уже тогда установите его:
export LESSCHARSET="utf-8"
Посмотрите, поможет ли это. Вы также можете попробовать пейджер под названием most
, он доступен по крайней мере в репозиториях пакетов Debian/Ubuntu.
Пытаться -r
опция для отображения необработанных символов, пример:
менее -r file.txt
Попробуйте другой пейджер (например, most
).
PAGER=most man command_name
или же
man -P most command_name
или же
man --pager=most command_name
чтобы увидеть, может ли он правильно отображать апострофы.
Возможно, что исходный файл (если есть) для man
страница плохая, инструменты для обработки man
страница (*roff
) неправильно обрабатывают символ или объектный файл (cat
файл) эти инструменты могут быть неправильными. В некоторых системах вы можете восстановить man
объектные файлы страницы.
Бежать man
с одним из этих вариантов (-W
, --where-cat
или же --location-cat
) чтобы увидеть, где cat
файл находится. Попробуйте переименовать (а не удалять - чтобы при необходимости можно было вернуть его) cat
файл, так что новый генерируется.
Вы можете попробовать указать кодировку, чтобы увидеть, поможет ли это. Пытаться UTF-8
а также UTF-16
, например.
man -E UTF-8 command_name
или же
man --encoding=UTF-8 command_name
Наконец, беги mandb
проверить целостность кэша.