我在一些手册页中偶然发现了一些不好的特殊字符:
如果您的终端是“真正的”自动边距终端(它不允许在不滚动屏幕的情况下更新屏幕上的最后一个位置),请考虑使用终端的 termcap 版本,该版本已关闭自动边距。这将确保在任何情况下都能准确、最佳地更新屏幕。如今,大多数终端都有“神奇”边距(自动边距加上可用的最后一列)。这是 VT100 样式类型,非常适合屏幕。如果您所拥有的只是一个 [...]
我做了一些研究。man
使用作为其显示工具,并且在我的环境中将$pager
其设置为。因此显然无法显示手册页的特殊字符。less
less
我的终端(putty)设置为 Utf-8,还有$LANG=en_US.UTF-8
。可能是什么问题?
答案1
首先查看您是否LESSCHARSET
设置了环境变量。
echo $LESSCHARSET
如果尚未设置utf-8
,则进行设置:
export LESSCHARSET="utf-8"
看看是否有帮助。您也可以尝试一个名为的寻呼机most
,它至少在 Debian/Ubuntu 软件包存储库中可用。
答案2
尝试另一个寻呼机(例如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
检查缓存一致性。
答案3
尝试-r
显示原始字符的选项,例如:
less -r 文件.txt