【mark】linux 终端命令行下的快捷键(自己已验证所有)
说明:
\c + a:表示ctrl+a
\a + a:表示alt+a
命令列表:
1 移动:
\c + a:将光标移到行首
\c + e:将光标移到行尾
\c + f:将光标向后(右)移动一个字符
\c + b:将光标向前(左)移动一个字符
\c + 左右:光标在单词间左右移动
\c + xx:在命令行尾和光标之间移动
2 编辑
\c + d:删除光标后(右)的一个字符(同键盘Delete键功能一样)
\c + h:删除光标前(左)的一个字符(同键盘Backspace键功能一样)
\c + w:由光标开始,向前(左)删除一个单词的字符(\a + Backspace有相同的效果)
\a + d:由光标开始,向后(右)删除一个单词的字符。(在xshell中打开的终端,Alt键会激活菜单,可以设置Alt键作为meta键,这样在xshell中Alt + d就能正常删除光标后的单词了)
\c + k:删除光标后的所有字符
\c + u:删除光标前的所有字符
\c + _:(实际按键为ctrl+shift+ -):撤销操作,恢复之前的状态 ( 这个操作和vi中的“u”功能一样,vi中还有个 \c+r 表示的u操作的反操作,即恢复上一操作 )
\c + y:粘贴之前删除的内容到光标后。经实测,只能粘贴多字符的删除,像c+d(h)删除的单个字符无法用此粘贴
\c + t:交换光标处的字符与前一个字符的位置
\c + shift + v: 粘贴快捷键;和window中的ctrl+v一样的功能(这个很多shell窗口不支持)
shift + insert: 同上,linux下的粘贴快捷键.
3 查找历史
\c + p:上一个命令
\c + n:下一条命令
\c + r:搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
\c + g:从历史搜索模式(Ctrl – r)退出。(ESC键也可以)
4 Bang(!)命令
- !! :执行上一条命令。
- ^foo^bar :把上一条命令里的foo替换为bar,并执行。
- !wget :执行最近的以wget开头的命令。
- !wget:p :仅打印最近的以wget开头的命令,不执行。
- !$ :上一条命令的最后一个参数, 与
Alt - .
和$_
相同。 - !* :上一条命令的所有参数
- !*:p :打印上一条命令是所有参数,也即
!*
的内容。 - ^abc :删除上一条命令中的abc。
- ^foo^bar :将上一条命令中的 foo 替换为 bar
- ^foo^bar^ :将上一条命令中的 foo 替换为 bar
- !-n :执行前n条命令,执行上一条命令:
!-1
, 执行前5条命令的格式是:!-5
5 控制命令
- Ctrl – l (小写的L):清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
- Ctrl – o :执行当前命令,并选择上一条命令。
- Ctrl – s :阻止屏幕输出
- Ctrl – q :允许屏幕输出
- Ctrl – c :终止命令
- Ctrl – z :挂起命令