如何强制less
程序退出时不清除屏幕?
我希望它的行为类似于git log
命令:
- 退出时,它会将最近看到的页面留在屏幕上
less
即使内容在一个屏幕上也不会退出(尝试git log -1
)
有任何想法吗?我没有less
在手册中找到任何合适的选项或env变量,不过我怀疑它是通过一些env变量设置的。
如何强制less
程序退出时不清除屏幕?
我希望它的行为类似于git log
命令:
less
即使内容在一个屏幕上也不会退出(尝试git log -1
)有任何想法吗?我没有less
在手册中找到任何合适的选项或env变量,不过我怀疑它是通过一些env变量设置的。
Answers:
为防止less
退出时清除屏幕,请使用-X
。
从联机帮助页:
-X或--no-init
禁用将termcap初始化和取消初始化字符串发送到终端。如果取消初始化字符串做了不必要的操作(如清除屏幕),有时这是理想的。
至于如果内容适合在一个屏幕上退出的可能性较小,则可以选择-F
:
-F或--quit-if-one-screen
如果可以在第一个屏幕上显示整个文件,则导致更少的自动退出。
-F
虽然不是默认值,所以可能已为您预设了某个位置。检查env var LESS
。
-F
但不了解-X
,这将尤其烦人,因为随后转移到在init上重置屏幕的系统将导致短文件根本没有出现,没有明显的原因。ack
当我尝试将ACK_PAGER='less -RF'
设置带到Mac 时,这让我感到有些困惑。谢谢一群!
export MANPAGER='less -s -X -F'
在我的.bashrc中添加了:当我减少退出时,将手册页信息显示在屏幕上,以便我可以实际使用它,而不必记住它。
less
,退出时它必须如何表现。
如果希望任何命令行选项始终始终是默认选项,则可以将LESS环境变量添加到.profile或.bashrc中。例如:
export LESS="-XF"
只要从该登录会话运行较少的命令,它将始终应用-X -F。
有时命令是别名的(即使在某些发行版中也是默认的)。要检查这一点,请键入
alias
没有参数,以查看是否别名使用了您不需要的选项。要在$ PATH中运行实际命令而不是别名,只需在其前面加上反斜杠即可:
\less
要查看您的环境中是否设置了LESS环境变量并影响行为:
echo $LESS
export LESS="-XFR"
了颜色,以便颜色也能显示出来less
。
-XF
它本身就打破了的输出git diff
,并-XFR
获得了两全其美的效果-没有屏幕清晰,但彩色git diff
输出。
more
不合适吗?