之后man less(并且可以选择点击h“更少命令的摘要”),因为man用于less显示文本,我点击s将文本保存到文件中。
当我在emacs或vi中打开文件时,出现了不需要的ctrl+h,并且某些字符出现了不需要的重复。这是为什么?如何正确保存“较少命令的摘要”?
为什么将输出重定向man less到文件没有问题?
谢谢。

这可以追溯到 70 年代的远程打字机(ttys!)。
将X<backspace>X(^H作为 ASCII BS 字符)发送到远程打字机,使其写 X,返回一个字符并在其自身之上再次写 X。它被写入两次使它看起来像粗体。
同样,对于下划线,你会写_<backspace>Xwhich 会写X在underscore 之上X?。
roff, 使用的排版系统man是 70 年代为 Unix 编写的第一个系统,因为这就是 Unix 作者获得资金的方式。
man在远程打字机上使用then 会将这些序列发送为粗体和下划线。
电传打字机很快就被阴极射线管终端所取代。在那里,BS 字符只是向后移动光标,字符会覆盖下面的字符。
所以发送X<backspace>X或_<backspace>X那里只显示X. CRT 的屏幕空间也有限(与电传打字机中的纸张相反),因此像这样的寻呼机more应运而生。
寻呼机被增强以理解这些X<BS>X序列并使用相应的转义序列来告诉终端显示粗体或下划线。
如今的寻呼机,包括more、less、most,w3m仍然可以理解这些序列。
而man仍然使用它们来显示粗体或当输出变为寻呼机强调。
当man(至少某些实现)检测到输出没有到达终端时,它不会调用寻呼机并且不会使用这些序列,这就是为什么当您重定向到文件时看不到它们的原因。
如果要删除这些序列,可以使用该col -b命令。