关于如何自定义快捷键以及更多信息,详见/usr/share/doc/bash/bash.html
记法:
-
<C-b>:即Ctrl+b组合键 -
<M-b>:即Meta+b组合键,Meta键一般指Alt键
光标移动类
-
<C-a>:移动到这一行命令的开头 -
<C-e>:移动到这一行命令的末尾 -
<C-f>:向前移动一个字符 -
<C-b>:向后移动一个字符 -
<M-f>:向前移动一个单词(单词指的是连在一起的一堆字母和数字) -
<M-b>:向后移动一个单词 -
<C-l>:清屏
历史记录类
-
<C-p>:移动到历史记录列表中的前一条命令 -
<C-n>:移动到历史记录列表中的后一条命令 -
<M-<>:移动到历史记录的第一条命令 -
<M->>:移动到历史记录的最后一条命令,一般是目前正在编辑的命令 -
<C-r>:搜索历史记录列表 -
<M-C-y>:获取上一条命令的argv[1]。如果给定参数n的话,就获取argv[n]。 -
<M-.>:获取上一条命令的argv[argc - 1],即最后一个参数。 -
<M-C-e>:将用户输入的alias命令替换为完整命令(如果有的话)。 -
<C-o>:执行当前命令,然后获取历史记录列表中的下一条命令 -
<C-x C-e>:打开一个编辑器来编辑当前的命令,bash会尝试执行$EDITOR环境变量表示的编辑器,若此环境变量未设置则执行emacs。
文本编辑类
-
<C-d>:删除光标所在的字符,若当前行为空则退出bash -
<C-v Tab>:输入一个\t -
<C-t>:交换光标之前的字符和光标指向的字符,然后后移光标。若光标在末尾则交换光标前面两个字符 -
<M-t>:交换光标之前和光标指向的单词,然后光标后移一个单词。若光标在最后,交换光标前面的两个单词 -
<M-u>:当前单词全部变成大写 -
<M-l>:当前单词全部变成小写 -
<M-c>:当前单词变成首字母大写
剪切与粘贴
-
<C-k>:删除从光标到行末尾的所有内容 -
<C-u>:删除一整行 -
<M-d>:删除当前单词或者下个单词 -
<M-\>:删除光标周围的所有空格与Tab -
<C-y>:粘贴上次删除的内容 -
<M-y>:在<C-y>或<M-y>后使用,浏览被删除文字的列表
参数
<M-0>, <M-1>, ...<M-->:为当前参数添加一个数位,或者创建一个新参数。<M-->用来创建负数参数
补全
-
<Tab>:对从行首到光标为止的内容尝试自动补全 -
<M-?>:显示光标前文字的所有可能补全形式 -
<M-*>:直接应用所有可能的自动补全 -
<M-/>:对光标前的内容试图按照文件名进行补全 -
<C-x />:显示光标前的内容所有可能的文件名补全形式 -
<M-~>:对光标前的内容试图按照用户名进行补全 -
<C-x ~>:显示光标前的内容所有可能的用户名补全形式 -
<M-$>:对光标前的内容试图按照shell变量名进行补全 -
<C-x $>:显示光标前的内容所有可能的shell变量名补全形式 -
<M-@>:对光标前的内容试图按照主机名进行补全 -
<C-x @>:显示光标前的内容所有可能的主机名补全形式 -
<M-!>:对光标前的内容试图按照shell命令进行补全,包括alias,保留字,内置指令,程序等 -
<C-x !>:显示光标前的内容所有可能的shell命令补全形式 -
<M-Tab>:按历史记录补全 -
<M-{>:按文件名补全,但是以列表的形式提供所有可能补全的内容
宏
-
<C-x (>:开始录制宏 -
<C-x )>:停止录制宏 -
<C-x e>:播放之前录制的宏
杂项
-
<C-g>:放弃当前命令,并响铃 -
<Esc>:让下一次按键带有Meta组合键效果,比如Esc f等同于<M-f> -
<C-_>:撤销上条命令 -
<M-r>:撤销对当前行的所有修改 -
<C-]>:输入后再输入一个字符,跳转到下一处 -
<M-C-]>:输入后再输入一个字符,跳转到上一处 -
<M-#>:这一行被当做注释 -
<C-x C-v>:显示bash版本