如何将Linux命令设置成键盘快捷键?
我们都知道,linux系统操作大部分都需要使用命令完成,但命令多了操作起来较为繁琐,如果将常用命令设置成键盘快捷方式则简单很多,下面小编就给大家介绍下将linux命令设置成键盘快捷键的方法,感兴趣的朋友一起来看看吧。
可以把任何命令或命令的组合指定给键盘上的某个键,可以是alt+[a-z],
ctrl-[a-z], alt+shift+[a-z], f1-f12, ctrl-f[1-12], alt-f[1-12], alt+shift+f[1-12],还有更不可思议的是甚至还可以为功能键加上“参数”,这样你按下那个键的时候,它会等待你输入相应的参数,并根据不同的参数运行不同的命令。
当然,有一些热键会被终端所捕获,如常见的ctrl-d/c/q/z等,不过没关系,可用的热键还多着呢!
定义热键的配置文件为:/etc/inputrc 或 ~/.inputrc,定义热键的格式如下:
“《热键对应的ascii字符》”:“《执行的命令》”
其中热键对应的ascii字符可以通过 “先按ctrl-v, 然后按热键” 的方式来输入, 如ctrl-g对应的字符为^g, alt-p对应的字符为^[p, ctrl-alt-h对应的字符为^[^h.
可以用/c来代替ctrl,/m来代替alt, /m-/c来代替alt-ctrl, 如/c-m = ctrl-m, /m-/c-h = alt-ctrl-m. 另外还可以用/e代表^[。
先来看一些基本的热键定义,(这里热键里的字母不区分大小写):
“^[-”:“su -/c-m” # 按alt+- 执行su - 命令,末尾/c-m表示输入完定义的命令后回车,也可以更简洁地用一个/n来表示。
“/m-/c-g”:“gaim & &》/dev/null && disown/c-m”
# 按ctrl-alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭
其他一些组合键可以根据自己的需要配置,偶就不多说了。
大家也许会觉得这样定义热键太乱了,而且很难记住,还有一定的限制。这个问题在后面会得到解决。
一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如》果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常》敲命令的地方呢?如使用alt+j = down arrow 向下查找,alt+k=up arrow 向下查找
通过定义热键可以做到这点:
“/eh”:“^[od” # move left
# alt-h 向左移一个字符, 相当于left arrowgh, 这里^[od即向上方向键的ascii字符,输入方式与前面提到的类似
“/el”:“^[oc” # move right
# alt-l 向右移一个字符,相当于right arrow
“/ej”:“^[ob” # move up
# alt-j 向下移动,相当于up arrow
“/ek”:“^[oa” # move down
# alt-k 向上移动,相当于down arrow
“/ei”:“^?” # left earse one character
# alt-i 向左删除一个字符,相当于backspace
“/eo”:delete-char # right earse one character
# alt-o 向右删除一个字符,相当于delete
“/en”:backward-kill-word # left kill one word
# alt-n 向左删除一个单词
“/em”:kill-word # right kill one word
# alt-m 向右删除一个单词
“/ea”:“^[n^[n^[n^[n^[n^[n^[n” # kill to the head
# alt-a 删除当前位置到开头,也就是多alt-n几次(a--》 ahead)
“/ee”:“^[m^[m^[m^[m^[m^[m^[m” # kill to the head
# alt-e 删除当前位置到末尾,也就是多alt-m几次(e--》 end)
“/ep”: insert-last-argumem“
# alt-p 插入上一个命令最后一个参数 (p--》 paste)
”/ew“: forward-word
# 系统默认alt-f (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾
”/eq“: backward-word
# 系统默认alt-b (backward)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首
下一篇: linux定时运行命令