在MATE Terminal的bash里CTRL+L快捷键不能清屏

在BASH里面的CTRL+L 是清屏, 然而在我的PARROT里面MATE Terminal这个快捷键不起作用,在这个终端SSH到其它CENTOS环境则CTRL+L可起到清屏作用。

前几天(四月中旬)做的apt full-upgrade,基本是最新版本。

└──╼ $uname -a
Linux xxxxx 4.15.0-parrot11-amd64 #1 SMP Debian 4.15.11-1parrot11 (2018-04-05) x86_64 GNU/Linux
┌─[xxx@johnson]─[~]
└──╼ $^L
bash: $'\f': command not found
┌─[✗]─[xxx@johnson]─[~]
└──╼ $

补充一下,找到根本原因了,是我在初始环境的时候自动设置了set -o vi
bash默认是emacs风格,CTL+L是清屏的快捷键,换成VI的命令行风格之后就失效了
解决办法:
1、补充一个绑定命令bind -m vi-insert '\c-l':clear-screen
2、用 alias 解决

试一下其他ctrl快捷键能不能用
可能是快捷键冲突?

其它Ctl+D \ Ctl+Z \ Ctl+S \Ctl+Q 都有作用的,Ctl+L按下就打印出一个 ^L

之前用快捷键放大缩小终端 ctrl +和ctrl -,放大的时候除了ctrl还需要加上shift,缩小就不用

ctrl shift l 这样试试呢?

加号+原本是要按SHIFT的, 减号-不需要SHIFT,在BASH里面按了SHIFT也就是Ctl+_ 的作用貌似是清除整行的样子, Ctl+L用不上就敲reset了。
突然想到这个快捷是觉得使用w3m的时候,Ctl+Z --> Ctl+L效果应该很好的 :wink:

.bashrc 中加上这句 alias c='clear'
然后c就清屏了

额,好办法 :+1::+1::+1:

发现单个字母里面除了 lw 是有命令的,其它都没有被占用, 也说是说这就相当于终端模式下用alias自定义命令的快捷键大有空间,并且还可以通过命令行启动各种窗口程序,比如alias q='exit';`alias s='systemctl start sshd';`alias f='firefox &' ,玩顺了之后可以节省N多按键。 下意识的想到了vi的那套思想,原有的快捷键+alias的搭配很像是vi的命令和编辑两种模式的搭配 :grinning:

1 个赞

类似的…
ll=ls -l
la=ls -a

话说我parrot ctrl+l 可以正常清屏,还是怀疑是快捷键冲突

如何找到被谁占用了呢 ? 在我电脑上CTL+ALT+Fn的纯终端也是这个打印出^L的效果。。。

这就不知道了嘿嘿。。。


服务器资源由ZeptoVM赞助

Partners Wiki Discord