关于如何自定义快捷键以及更多信息,详见/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版本