欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

如何将Linux命令设置成键盘快捷键?

程序员文章站 2022-04-23 19:21:43
最近一些朋友问小编如何将Linux命令设置成键盘快捷键?今天小编将为大家带来的是将Linux命令设置成键盘快捷键的方法,希望对大家会有帮助,有需要的朋友一起去看看吧... 17-04-10...

我们都知道,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)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首