Less

如何減少將標籤顯示為標籤?

  • December 21, 2017

當我在 中查看帶有製表符的數據時less,製表符會擴展為空格。如果我然後使用 ctrl-c 將它們直接從終端複製出來,它們會複製為空格。另一方面,more保留製表符,就像許多其他命令一樣tailhead。有什麼辦法可以less保持標籤完好無損?

-r``-U即使與聲稱將製表符視為控製字元的 結合使用,似乎也沒有任何效果。我沒有看到任何其他相關選項less

手冊頁less似乎具有誤導性。

通過組合使用-r-U選項,您將防止less在它從輸入讀取行並填充其輸出緩衝區時將製表符轉換為空格。但是,當將輸出緩衝區寫入終端(而不是寫入文件或管道)時,write()由於 termio 設置,在呼叫中會進行第二次製表符到空格的轉換,這與閱讀手冊頁可能期望的行為相矛盾.

如果您less從原始碼編譯,並註釋或#ifdef刪除 which 或XTABSOXTABSTAB3into s.c_oflagin 的screen.c:raw_mode()行(第 487 版中的第 398-411 和 489 行less),您將獲得一個版本,less如果使用-r -U.

我找不到任何現有的命令行選項來產生所需的行為,儘管很容易產生一個可以切換此行為的版本。

使用足夠笨的終端也應該有效。

引用自:https://unix.stackexchange.com/questions/412060