Woj*_*rek 93 unix command-line environment-variables
如何强制less程序退出时不清除屏幕?
我希望它的行为像git log命令:
less即使内容适合一个屏幕,它也不会退出(尝试git log -1)有任何想法吗?我less在手册中没有找到任何合适的选项或 env 变量,但我怀疑它是通过一些 env 变量设置的。
sle*_*ske 109
为防止less退出时清屏,请使用-X。
从联机帮助页:
-X 或 --no-init
禁止将 termcap 初始化和取消初始化字符串发送到终端。如果取消初始化字符串做了一些不必要的事情,比如清除屏幕,这有时是可取的。
如果内容适合一个屏幕,则减少退出,这是选项-F:
-F 或 --quit-if-one-screen
如果整个文件可以显示在第一个屏幕上,则使 less 自动退出。
-F不是默认设置,因此它可能已为您预设在某处。检查环境变量LESS。
Der*_*lle 24
如果您希望任何命令行选项始终为默认值,您可以将 LESS 环境变量添加到 .profile 或 .bashrc 中。例如:
export LESS="-XF"
Run Code Online (Sandbox Code Playgroud)
每当从该登录会话运行较少时,将始终应用 -X -F。
有时命令是别名的(即使在某些发行版中是默认的)。要检查这一点,请键入
alias
Run Code Online (Sandbox Code Playgroud)
没有参数来查看它是否被您不想要的选项别名。要在 $PATH 中运行实际命令而不是别名,只需在它前面加上一个反斜杠:
\less
Run Code Online (Sandbox Code Playgroud)
要查看您的环境中是否设置了 LESS 环境变量并影响行为:
echo $LESS
Run Code Online (Sandbox Code Playgroud)
Les*_*ung 10
或者只是在全局 git 配置中设置它:
git config --global core.pager 'less -FX'
Run Code Online (Sandbox Code Playgroud)
这样其他工具就不会受到影响(我喜欢)。