防止 less linewrapp 破坏单词——仅在空白处分割

防止 less linewrapp 破坏单词——仅在空白处分割

我想要的less换行是更聪明...当less浏览文本时,它会以这样的方式换行,从而使单词被分解,这使得阅读变得困难。聪明的方法意味着只在“空格”字符上换行。

这可能吗?

在阅读手册页和浏览互联网时,我惊讶地发现没有其他提及或询问这一点。

如果 less 不能做到这一点,还有其他寻呼机可以吗?


编辑:

  • 理想情况下,可以使用诸如 之类的标志来切换效果--cleanwrap
  • 在 stdin 上使用它很some-report.py | less -i --cleanwrap重要。
  • 理想情况下,寻呼机将根据屏幕/终端(tmux 窗格)调整大小进行调整...也许 less 不是正确的工具?如果可以实现上述功能,则可以牺牲这一点:(

答案1

less没有内置的方法来执行此操作,但如果您使用lesspipe,则可以扩展它以按扩展名包装文件。

以下内容另存为,将以80 列~/.lessfilter自动换行文件:.txt

#! /bin/sh -

case "$1" in
    *.txt) fold -s -- "$1";;
    *)     exit 1;;
esac

exit 0

使此可执行文件,然后确保less使用lesspipe

eval "$(lesspipe)"

你应该会发现它less ...txt会自动换行。

这可以扩展以处理其他扩展,将宽度调整为终端宽度等。

相关内容