我正在尝试使用less
-filelesskey
支持,如下所述手册页:
KEY BINDINGS
You may define your own less commands by using the program lesskey (1)
to create a lesskey file. This file specifies a set of command keys
and an action associated with each key. You may also use lesskey to
change the line-editing keys (see LINE EDITING), and to set environment
variables. …
不幸的是,这对我来说不起作用:
$ mkdir test_lesskey && cd !#:1
$ less --version
less 471 (PCRE regular expressions)
Copyright (C) 1984-2014 Mark Nudelman
$ cat <<-EOF >a_lesskey
#env
LESS=-?
EOF
$ lesskey -o a_dot_less 'a_lesskey'
$ less -FX a_dot_less
^@M+Gc^@^@e^@^@v ^@LESS^@84-?^@xEnd
$ less --lesskey-file=a_dot_less "~/.profile"
此时,less
将正常打开,而不是less -?
按预期打印使用文本并退出。
我尝试了几个不同的标志(和格式),但它们似乎都不能像手册页中描述的那样工作。
lesskey 机制全面的绝对有效;我可以定义以下内容:
#command
e quit
…less
如果我按下该键,它就会按预期退出e。仅有的我无法使环境变量部分按预期工作。
pacman -S less
我已经在 Arch ( ) 和 OS X ( )上尝试过此操作brew install less
;这与开箱即用的 OS X 无关,因为 OS Xless
已修补为不包含lesskey
支持。)
答案1
我less
在 OS X 10.8.5 上使用 458 并且可以重现您的问题。
-k filename
或者--lesskey-file=filename
似乎无法与该#env
部分配合使用。
我建议您使用默认路径或变量,并在开发者网站与此选项和部分相关的问题已被报告并修复,请参阅参考资料 141。