less
已经使用 j/k 进行垂直滚动,但不使用 h/l 进行水平滚动(在--ch
模式下)。无论如何,l 键不绑定到任何东西,h 只是 H 的同义词,所以我不会覆盖任何重要的绑定。
如何让 h 和 l 水平滚动?
答案1
man less
告诉我们以下内容:
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. If the environment variable LESSKEY is
set, less uses that as the name of the lesskey file. Otherwise,
less looks in a standard place for the lesskey file: On Unix
systems, less looks for a lesskey file called "$HOME/.less".
它告诉我们使用读取填充的详细信息lesskey
来生成 lesskey 文件。man lesskey
您可以将以下内容放入 lesskey 输入文件中(~/.lesskey
默认情况下)
h left-scroll
l right-scroll
然后运行lesskey
,它将~/.less
为您生成一个输出文件(默认情况下)。
据我所知,您无法进行逐个字符的水平滚动。
答案2
您可以使用以下命令设置自己的键绑定lesskey
程序。.lesskey
在包含键绑定的主目录中创建一个名为的文件,然后运行lesskey
命令将它们转换为可以理解的形式less
(编译后的绑定存储在~/.less
)。
没有命令可以向左或向右滚动一个字符。您可以通过将数字参数 1 传递给left-scroll
andright-scroll
命令来做到这一点。您不能直接为带有参数的命令设置绑定,但可以设置绑定来运行命令,然后解析更多键。因此,运行该noaction
命令,然后解析使用所需参数运行滚动命令的键序列。
h noaction 1\e(
l noaction 1\e)