在OpenBSD的ksh中添加Ctrl-L作为“清除”热键


8

我一直在寻找一种使用方法Ctrl- L清除监视器,而不是clear每次都键入。除了一个对我不起作用的补丁外,我什么也没找到。如何在我的OpenBSD盒(使用ksh作为外壳)中添加热键/快捷方式?

[*] OpenBSD的ksh.kshrc

[*] Ctrl-l(十六进制= 0xc):

#读取键; echo -n $ key> file.txt; hexdump file.txt
^ L
0000000 000c                                   
0000001
# 

Answers:


5

根据OpenBSD ksh手册页Ctrl+ L必然会重绘。

 redraw: ^L
         Reprints the prompt string and the current input line.

如果这还不够,我看不到任何有帮助的编辑命令,因此建议您进一步了解bind -m

也许您可以做一些类似的事情bind -m '^L'=clear'^J'来键入它clear Enter


我已经bind -m '^L'=clear'^J'在OpenBSD 4.9上进行了测试,并且可以正常工作。
Mikel

解决了,Mikel和Shellter感谢您的帮助。

3

您应该能够在.kshrc中添加一个别名。尝试

alias "^L"=clear

哪里^L是单个字符Ctrl- L。你可能不需要的报价,如果它仍然不工作不得已将逃脱它像(你是什么类型的,而不是会在你的文件中看到)Ctrl- VCtrl- L→明确。

高温超导


1
谢谢Shellter,但是这种方式适用于bash而不是ksh。

@Barakat:什么不起作用?错误消息是什么?它可以在我的ksh环境中工作;-)(而且我肯定在使用Solaris和AIX ksh的情况下也可以工作)。嗯 重新阅读您的文章,看看您是在参考OpenBSD ksh。抱歉,我没有经验。真的可能是pdksh吗?祝好运。
剥壳机2011年

@Barakat:另一件事,您是否在.kshrc中添加了别名定义后重新启动了Shell。或者,您可以将其添加到〜/ .profile中,然后启动一个新的shell。
剥壳机2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.