暗无天日

=============>DarkSun的个人博客

Bash中的那些快捷键

https://www.tecmint.com/linux-command-line-bash-shortcut-keys/ 中学到的。

注意,下面这些快捷键都是在Emacs keymap的情况下有用

启动编辑器

C-x C-e
根据 $FCEDIT$EDITOR 环境变量打开对应的编辑器,若这两个变量都为空,则运行emacs

控制屏幕

C-l
清屏,相当于执行clear命令
C-s
暂停屏幕输出
C-q
恢复被 Ctrl-s 暂停的屏幕输出

光标的移动

C-a / Home
移动光标道行首
C-e / End
移动光标到行未
C-b
左移一个字符
C-f
右移一个字符
M-b
左移一个单词(以空格作为单词分割)
M-c
右移一个单词(以空格作为单词分割)

删除命令行内容

C-d / Delete
删除光标所在的字符
C-x Backspace
删除光标到行首的所有内容
C-k
删除光标到行末的所有内容

命令行内容转换大小写

Esc u
光标到单词末尾的内容全部变大写
Esc l
光标到单词末尾的内容全部变小写
Esc c
转换光标道单词末尾内容的大小写

命令行字符交换

C-t
将光标所在字符与前面一个字符进行交换

搜索bash history

上箭头 / C-p
上一条命令
下箭头 / C-n
下一条命令
C-s
反向搜索history
C-g
取消反向搜索history

进程管理

C-z
发送SIGTSTP信号,挂起当前进程
C-c
发送SIGINT信号退出当前进程
C-d
退出bash shell,相当于执行exit命令

!命令

!!
执行上一个命令
!top
执行最近哪个以top开头的命令
!top:p
显示最近哪个以top开头的命令,但不执行
!$
将上一个命令的最后那个单词作为命令来执行
!$:p
显示上一个命令的最后那个单词作,但不执行

查看更多快捷键

bind -p |head
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
"\C-m": accept-line
# alias-expand-line (not bound)
# arrow-key-prefix (not bound)
# backward-byte (not bound)
"\C-b": backward-char

其中"\C-X"表示同时按下 Ctrl 和 X 键.

"\eX"表示先按下 ESC 键后,再按下 X 键.