`
yjddswc
  • 浏览: 7776 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Linux 自定义快捷键(转载)

阅读更多
Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用TAB进行>命令补足,或者使用aliase来简化某个命令的输入,但这并不能从根本上解决敲击键盘次数过多的问题。

可以把任何命令或命令的组合指定给键盘上的某个键,可以是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)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首

发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用

这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中>在一块,比以前方便多了。不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。

Linux下绝大部分服务的配置是基于配置文件的,一般说来,更改了某个服务的配置文件,要使其立即生效,还需重启该服务直接的或依附的守护进程才行。难道你就不觉得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”这样做很繁琐么?如果要配置的服务较多而且要不停地调试呢?况且我们平常使用Linux时难免会不时地终止或启动某个服务进程,输入命令的次数也不少。如果为每个服务都指定一个热键的话,似乎不大可能。如果我们赋予一个热键为一个基本键,而相应的服务为其“参数”,那又如何呢?

举个例子,赋予Alt-S (S-->Start)为启动服务的基本键,服务名的前2个字符为启动“参数”,那么就可以像下面那样随意启动某个服务了:
"/essm":"service smb start/n"
# /es=Alt-s, sm=smb,
# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入“参数”间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。

"/esht":"service httpd start/n" # ht=httpd,启动Apache服务

类似地,我们赋予
Alt-D(D--> shutDown) 为停止服务的基本键
Alt-R(R--> Restart) 为重启服务的基本键
Alt-T(T--> Status) 为查看服务状态的基本键
Alt-C(C--> Configure) 为打开服务对应的主配置文件的基本键
如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打开NFS的配置文件
"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打开smb的配置文件

如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:
"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打开sshd服务端配置文件
"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打开sshd客户端配置文件

如果要执行某个应用程序呢?可以用Alt-x做基本键(x--> eXeccute) 如:
"/exga":"gaim & &>/dev/null && disown && clean /n"
"/exxm":"xmms & &>/dev/null && disown && clean /n"
"/exvm":"vmware & &>/dev/null && disown && clean /n" "/exna":"nautilus & &>/dev/null && disown && clean /n"
等等....

到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:
1. 执行指定的应用程序
2. 启动|重启|关闭|指定的服务进程
3. 查看指定服务的状态
4. 打开指定服务的指定配置文件

分享到:
评论

相关推荐

    Delphi自定义快捷键..rar

    本资源"Delphi自定义快捷键..rar"可能包含有关如何在Delphi中设置和管理自定义快捷键的教程、代码示例或配置文件。 在Delphi中,快捷键的自定义主要通过“Tools”菜单下的“Options”对话框进行。在“Options”...

    6.如何为应用程序自定义快捷键?(Visual C++编程 源代码)

    6.如何为应用程序自定义快捷键?(Visual C++编程 源代码)6.如何为应用程序自定义快捷键?(Visual C++编程 源代码)6.如何为应用程序自定义快捷键?(Visual C++编程 源代码)6.如何为应用程序自定义快捷键?...

    xcode4自定义主题和自定义快捷键

    这篇名为“xcode4自定义主题和自定义快捷键”的博客文章,显然是关于如何个性化Xcode 4的界面主题和快捷键设置,以提高开发效率。这篇文章可能涵盖了以下几个方面的内容: 1. **自定义主题**:Xcode允许用户根据...

    win7如何自定义快捷键.docx

    在Windows 7操作系统中,自定义快捷键是一个非常实用的功能,可以帮助用户快速启动常用的应用程序,提高工作效率。以下是如何在Win7中自定义快捷键的详细步骤: 首先,找到你想要创建快捷键的程序。例如,如果你...

    自定义快捷键

    在IT领域,自定义快捷键是一项非常实用的功能,它允许用户根据个人习惯和工作效率来定制各种操作的快捷方式。这不仅能够提高生产力,还可以减少在使用计算机时的手指疲劳。标题"自定义快捷键"所指的就是这类功能,...

    MaskedTextBox 控件自定义快捷键

    在探讨“MaskedTextBox控件自定义快捷键”的知识点时,我们首先需要理解MaskedTextBox控件的基本功能及其在Windows Forms应用程序中的应用。MaskedTextBox控件是一种特殊的TextBox控件,它允许用户输入固定格式的...

    MAPINFO自定义快捷键

    在MAPINFO中自定义快捷键,有具体代码、使用方式,直接使用即可!

    CASS常用命令自定义快捷键插件

    在提供的压缩包文件" CASS常用命令自定义快捷键插件181231 "中,可能包含了作者精心编排的一套常用CASS命令的快捷键设置,用户只需要导入到CASS软件中,就可以直接使用这些预设的快捷键,无需再逐一自定义。...

    谷歌浏览器自定义快捷键(用于32位windows系统)

    new.ahk中是自定义的脚本,大家可以学习一下AutoHotKey的帮助文档,进行自定义快捷键的设置。重新compiler一下,生成new.exe就可以方便使用了。(原来的是64位系统的,现在重新穿上一份,里面的new-32.exe可用于32位...

    TextBox 控件自定义快捷键

    ### TextBox 控件自定义快捷键 #### 概述 在 Windows Forms 应用程序开发过程中,经常需要对用户界面中的控件进行定制化处理,以提高用户体验或满足特定功能需求。其中,`TextBox` 控件作为最常见的输入组件之一,...

    支持自定义快捷键的截图工具

    《自定义快捷键的截图工具:提升效率与便利性的创新技术》 在信息化时代,截图已经成为我们日常工作中不可或缺的一部分,无论是分享信息、记录屏幕状态还是进行远程协作,都离不开这一功能。而“支持自定义快捷键的...

    word2021怎么给自定义快捷键.docx

    ### Word2021自定义快捷键详细指南 #### 一、引言 在日常办公过程中,频繁地使用某些功能或插入特定字符可以极大地提高工作效率。对于Word2021用户来说,学会如何自定义快捷键是一项非常实用的技能。本文将详细...

    office2013自定义键盘快捷键.pdf

    在Office 2013中自定义快捷键的步骤通常包括打开快捷键设置界面,选择需要设置快捷键的功能,然后指定一个新的快捷键组合。当指定快捷键时,系统会检查该组合是否已被其他功能占用,如果未被占用,即可成功设置。 ...

    BCB工具栏中的主菜单实现自定义快捷键的方法

    自定义快捷键则是提高用户体验和操作效率的关键功能之一。本文将深入探讨如何在BCB工具栏中的主菜单实现自定义快捷键,以增强应用程序的灵活性和易用性。 ### BCB工具栏与主菜单概述 BCB的工具栏(TToolBar)和主...

    WPF窗体自定义快捷键

    在Windows Presentation Foundation (WPF) 中,为窗体自定义快捷键可以极大地提高用户体验,使得用户能够更快捷地操作应用程序。本教程将深入探讨如何在WPF应用中实现这一功能,同时,这些方法同样适用于Windows ...

    PADS2007 9.0自定义快捷键

    在PADS2007 9.0这个版本中,自定义快捷键的方法与之前的版本有所不同,如PADS2005。在旧版中,用户可以通过编辑 DAT 文件来设置个人化的快捷键配置,但在新版中,这种方法不再有效。现在,我们需要了解新的自定义...

    燕秀工具箱中怎么自定义快捷键.pdf

    根据提供的文件信息,我们需要详细解读关于“燕秀工具箱中怎么自定义快捷键”的知识点。由于文件具体内容只包含部分扫描文字,我们无法得到完整的操作指南,但可以根据这些信息推测相关的技术细节。 首先,“燕秀...

    VB源码:控制键盘输入自定义快捷键.rar

    【VB源码:控制键盘输入自定义快捷键】 在VB(Visual Basic)编程环境中,开发者经常需要处理键盘事件,以实现特定的功能,如控制键盘输入、设置自定义快捷键等。这个“VB源码:控制键盘输入自定义快捷键”的项目,...

    windows系统下自定义快捷键

    windows系统下自定义快捷键

Global site tag (gtag.js) - Google Analytics