在Bash环境中设置热键

Author: 王巍 Date: 2001年 28期

?牐牼J褂肔inux的朋友肯定会对Linux虚拟控制台中的命令操作感到厌烦。即使使用了两字符unix命令或命令补足功能,也仅仅是在一定程度上减轻了击键的负担,并没从根本上解决问题。那么是否可以只要按某个键(比如F1功能键)就能为你自动打入一串字符呢?答案是肯定的。
  ?牐犇憧梢园讶魏蚊罨蛎畹囊徊糠帜谌葜付ǜ躺系娜魏我桓黾蛘呤怯階lt和Ctrl的组合键,而不一定仅是那些功能键。因此,可供选择的键很多。
  ?牐犚迪稚厦嫠峒暗墓δ埽蛴Π凑杖缦滤龅姆椒ò延泄啬谌莘诺接没е髂柯贾械腞eadline配置文件.inputrc中。
  ?牐犖怂得魑侍猓饫锵染僖桓黾虻サ睦樱枰得鞯氖歉美颖旧硎呛廖抟庖宓暮突拿模舜τ酶美哪康慕鍪俏四芊奖闼得魑侍狻8美前炎址甤d $HOME赋给字符z。要实现该例,你只要在~/.inputrc文件(如果尚未有该文件,则创建一个新文件)中加入下面一个句子即可:
  ?牐?"z":"cd $HOME"
  ?牐犚鼓愕纳柚蒙В阌ο韧顺觯╨og out),然后再重新登录(log in)。此时你敲击z键,则在你的命令行中将显示字符串cd $HOME,而不是字符z。接下去若敲回车键Enter,则将执行cd $HOME命令。实际上,你还可发现,你在命令行的任何位置处敲入z都将显示cd $HOME这一字符串。
  ?牐牬耸保憧赡芑嵛剩詈迷谇没鱶键后马上就能执行cd $HOME,而不用再敲一次回车键,行吗?当然可以,你只要在上面设置中在字串后面加上回车键的特别表示法“\C-M”即可。即在~/.inputrc文件中放入如下一个句子就行:
  ?牐?"z":"cd $HOME\C-M"
  ?牐牻酉吕慈梦颐抢此得饕幌掳迅胏d命令指定到F1功能键上的方法。在Linux虚拟控制台中,并在使用默认的Linux控制台配置文件的情况下,F1将由四个字符序列Escape、[、[、和A组成。其中Escape在.inputrc配置文件中用“\e”来表示。因此,你可以在~/.inputrc文件中放入如下一个句子即可:
  ?牐?"\e[[A":"cd $HOME\C-M"
  ?牐犑导噬希阋筊eadline配置文件生效,不一定要先退出,再重新登录,你只要按组合键Ctrl+X 、Ctrl+R即可。重载该配置文件后,你就可以按F1键,然后你会看到实际上它执行了cd $HOME命令(该命令的作用是返回用户主目录)。
  ?牐犗衷冢梦颐抢醋芙嵋幌滤亩ㄒ甯袷健8袷窖尤缦滤荆?
  ?牐?"指定键":"内容定义"
  ?牐犇憧梢晕魏渭–trl+S、Ctrl+Q、Ctrl+C、Ctrl+Z四个组合键除外)指定任何命令内容。需要说明的是“Alt组合键”和“Ctrl组合键”在.inputrc配置文件中分别要用“\M-X”和“\C-X”形式来表示。
  ?牐犠詈螅得饕幌氯绾文芊奖愕鼗裰躺系娜魏渭冢甶nputrc配置文件中的表达方法。你只要在Bash提示符下,先按“Ctrl+V”组合键,再键入你要了解的键,此时屏幕的当前输入行上就会显示该键的表示方法。要注意的是对于数字小键盘的表示有两种表示序列,因为它有两种模式。另外还须注意:若显示“^[”字样,则该字样就是指Escape字符。