我想改变less
命令的默认行为,所以我添加了以下内容~/.profile
:
LESS="$LESS -x4"
export LESS
然而,仅仅设置一个LESS
环境变量似乎就会改变命令的行为less
,因为这现在导致git diff
向我显示原始转义序列。
更一般地,输出
LESS='' git diff
和
unset LESS; git diff
LESS
不同。取消设置和设置为空值之间有什么区别LESS
(除了前者显然暗示之外-R
)?
答案1
这与 无关less
,而与 息息相关git
。引自git-config(1)
手册页(重点是我的):
当
LESS
环境变量为取消设置,Git 将其设置为FRX
(如果LESS
环境变量是放,Git 根本不会改变它)。
选项R
是less
控制是否解释颜色转义等的,默认情况下不启用,而仅git
当LESS
环境变量未设置时才设置。
答案2
$LESS
是 使用的环境变量less
。来自man less
:
Options are also taken from the environment variable "LESS". For example, to avoid typing
"less -options ..." each time less is invoked, you might tell csh:
setenv LESS "-options"
or if you use sh:
LESS="-options"; export LESS
您应该使用其他环境变量名称。