作者dces4212 ()
看板Linux
标题[问题] manpage 显示排版提早换行
时间Sat Aug 14 03:38:00 2021
大家好,
标题可能不太清楚,先上张图:
https://i.stack.imgur.com/wvPmV.png
请问为啥 manpage 的输出会提早换行,而不是显示完整 terminal 版面後才换行?
这问题我在 FreeBSD 跟 Linux (Ubuntu) 都遇过,不过後者如果是用 SSH 操作的话就
没这问题,但前者不管是 SSH 或直接在机器上(QEMU -nographic)操作都会这样。
这问题是不是跟某个环境变数有关呀?
另外想请教个可能没相关的问题(?
在还没解压缩 dot file (.zshrc, .oh-my-zsh/, etc)之前,为什麽按 delete
会输出 '~'字元,而不是向後删除字元?这问题不管是在 zsh 或是 csh 都有遇到。
谢谢各位!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.32.101 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1628883485.A.E52.html
※ 编辑: dces4212 (114.37.32.101 台湾), 08/14/2021 03:40:02
※ 编辑: dces4212 (114.37.32.101 台湾), 08/14/2021 03:41:10
1F:→ CP64: 请看 man 的 manpage 有环境变数可以控制宽度 08/14 10:13
2F:→ CP64: 没有的话会自动侦测 侦测不到会自动掉回 80 字 08/14 10:13
3F:→ CP64: 至於後面应该是跟 terminfo 有关 08/14 10:14
4F:→ CP64: 你的环境的预设 TERM 可能是不会处理 delete 的类型 08/14 10:15
感谢C大,看来是都没侦测到,不过有趣的是,manpage提到$COLUMNS是fallback手段
之一,但我 echo $COLUMNS 明明吐得出东西,可是man却吃不到这个环境变数@@
确实,我在本机的TERM是vt-100,不同於在SSH时,是 screen-256color
5F:→ bitlife: 先 echo $TERM 看看,是不是FreeBSD不认得该TERM 08/14 10:54
感谢b大,後来改成screen-256color就正常了
6F:→ bitlife: 倒数第二段的问题,或许rc档里包含一些设定tty的指令? 08/14 11:10
好像没这麽单纯,因为我dotfile装好後,本机还是一样是原本的TERM,我後来是手动改
zshrc去换TERM的
7F:推 lantw44: FreeBSD 的 man 预设不会自动侦测宽度,如果想要自动侦测 08/14 12:37
8F:→ lantw44: 要设定环境变数 MANWIDTH=tty。 08/14 12:37
感谢l大,原来如此阿,刚刚已经把这个 env var 丢进 zshrc了XD
9F:推 lantw44: 如果已经确定程式会自动侦测,宽度却还是有问题,那可能 08/14 12:40
10F:→ lantw44: 系统认知的宽度和实际不符,可以用 stty -a 查询目前终端 08/14 12:42
11F:→ lantw44: 机的大小,如果有错误可以用 stty 手动更正,或用 resize 08/14 12:43
12F:→ lantw44: 之类的指令自动修正。 08/14 12:43
看来是不会自动侦测,不过 stty -a 的输出看起来挺正常,而且我缩放字体大小也会更
新。看 manpage 説他是用 ioctl 去抓的,我再看看 strace 看不看得出失败原因
※ 编辑: dces4212 (114.37.32.101 台湾), 08/14/2021 16:59:37