lesskey:将 alt+right 键绑定添加到 less

lesskey:将 alt+right 键绑定添加到 less

我曾经看到当我按+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)。


现在我已经成功地使用以下配置使其工作AltRight arrow使用~/.lesskeylesskey命令后,但您不需要它):

#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。

相关内容