当我在 中查看带有制表符的数据时less,制表符会扩展为空格。如果我然后使用 ctrl-c 直接将它们复制出我的终端,它们会复制为空格。另一方面,more与许多其他命令(如tail和 )一样,会保留制表符head。有没有办法less保持标签完好无损?
-r即使与 结合使用似乎也没有任何效果-U,它声称将制表符视为控制字符。我没有看到任何其他相关选项less。
的联机帮助页less似乎具有误导性。
通过组合使用-r和-U选项,您将防止less在从输入读取行并填充其输出缓冲区时将制表符转换为空格。但是,当输出缓冲区写入终端(而不是写入文件或管道)时,write()由于 termio 设置,在调用中会影响制表符到空格的第二次转换,这与人们通过阅读联机帮助页可能期望的行为相矛盾.
如果您编译less从源代码和注释或#ifdef哪个或行XTABS,OXTABS或TAB3将s.c_oflag在screen.c:raw_mode()(线487版本398-411和489 less),你会得到一个版本的less它,如果调用与输出制表符-r -U。
我找不到任何现有的命令行选项来产生所需的行为,尽管很容易产生一个可以切换这种行为的版本。
使用足够笨的终端也应该有效。
| 归档时间: |
|
| 查看次数: |
3917 次 |
| 最近记录: |