如何在Ksh中把clear绑定到^L上?

我如何在KornShell中复制以下bash功能。

bind "\C-l":"clear-screen"

我需要这个功能 bind 因为我在使用 set -o vi 在bash中使用,也打算在ksh中使用。

试图在ksh中使用它,却打印出一个错误。

ksh: bind: not found

解决方案:

很抱歉打破这个消息,但你已经注意到这是ksh和bash之间的不同:绑定或定义键映射的能力是不存在的。也没有可编程的命令完成。历史上Korn shell专注于语言设计和功能,而不是交互式终端功能。

GNU bash通过GNU Readline库提供键绑定,该库是由同一个人Chet Ramey开发和维护的。ksh 据我所知,即使在最新的版本中也没有使用这个库,也没有提供一个等价的库。

一个变通的办法是看看你是否可以给终端编程来提供这样的功能。在tmux中,如果你把这个放在你的 .tmux.conf 配置文件。

bind-key C-l send-keys clear

然后tmux会在Control -l之前进行解释。ksh 有机会看到它,并会用 “clear “这个字符串展开。 (下面我打赌tmux使用的是GNU Readline库)

POSIX标准(ksh和bash都遵循这一标准)定义了一个 “别名 “命令。然而一个别名 没有定义为允许控制字符. 一个特定的实现可能会做到这一点,但ksh不会。

也请参见 https:/unix.stackexchange.comquestions82223如何设置键盘快捷键,将预定义的文本输入到x11-xterminal-vi。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何禁止向BigQuery加载重复的行?

2022-4-20 16:09:06

解决方案

如何在lighthouse graphql laravel中获取自定义指令参数?

2022-4-20 16:09:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索