我曾经看到当我按+cat -vte
时我的终端模拟器发送什么转义代码:altright
❯ cat -vte
^[[1;3C
然后我将此转义代码添加到我的 lesskey 文件中~/.less
:
\e[1;3C forw-scroll
最后我推出less
:
LESSKEY=~/.less less some_file
但按alt+right不起作用。
答案1
手册状态:
您可以通过创建 lesskey 源文件来定义自己的 less 命令 [...]
如果环境变量莱斯凯因设置后,less 使用它作为 lesskey 源文件的名称。否则,less 在标准位置查找 lesskey 源文件:在 Unix 系统上,less 查找名为“$XDG_CONFIG_HOME/lesskey”或“$HOME/.lesskey”的 lesskey 文件。 [...]
less 的早期版本(v582 之前)使用由 lesskey 程序生成的二进制格式的 lesskey 文件。不再需要使用lesskey程序。
以及变量的定义LESSKEY
:
LESSKEY
默认 lesskey 二进制文件的名称。 (如果存在“$LESSKEYIN”则不使用。)
因此,据我了解,您不需要定义变量,LESSKEY
因为您的版本在 582 之后。只需拥有纯文本~/.lesskey
文件就足够了。 (附注,环境变量必须由 定义export VARIABLE=value
)。
现在我已经成功地使用以下配置使其工作Alt(Right arrow使用~/.lesskey
该lesskey
命令后,但您不需要它):
#command
^[[ forw-scroll
...但它也适用于其他箭头键。
您可以做的是绑定一个字符而不是箭头键,记住您可以覆盖现有功能。
假设您选择了角色,m
因为^[\kr
它不起作用。首先使用以下命令查找八进制值:
$ echo m | od -b | head -n1 | cut -d' ' -f2
155
然后在你的.lesskey
:
#command
^[\155 forw-scroll
现在,当您按Alt+时m,您将获得您正在寻找的结果。
这尚未针对less
版本 590 进行测试,因为我的版本是 551。