在终端环境下进行日常操作时,经常需要对命令行的命令进行编辑,为了提高我们的编辑效率,整理了一些在 bash 中进行命令编辑的快捷键,希望能够对大家有帮助。
在历史命令中查找
通过 Ctrl r
组合键可以反向增量查找消息历史,很好用。 比如很久以前输入过某个命令如: gcc -c -DKKT -Dnnn
等等一长串, 用上下方向键来找比较困难,这时候可以 Ctrl r
,然后输入 gcc
很快找到该命令,重复按 Ctrl r
将查找更早的历史。
命令行中移动
Ctrl f
表示在命令行中向后移动一个字符。
Ctrl b
表示在命令行中向前移动一个字符。
移动一个字符往往不能满足需求,这时需要移动一个单词的快捷键。
Alt f
表示在命令行中向后移动一个单词。
Alt b
表示在命令行中向前移动一个单词。
Ctrl a
表示移动到命令行的行首。
Ctrl e
表示移动到命令行的行尾。
命令行中删除
Alt d
往右边删除一个单词
Alt Backspace
往左删除一个单词
Ctrl u
往左删除到行首
Ctrl k
往右删除到行末
其中这些删除都放入了删除环里面,可以使用 Ctrl y
找回。
Alt y 在删除环里面移动也就是说命令行里面可以使用剪切和粘贴了。
上面的几条如果用熟练了效率能提高很多。
写在最后
Bash 下有两种输入模式 vi 模式 和 emacs模式,其中emacs是默认模式。可以通过 set -o vi
和 set -o emacs
来转换。
参考资料
- Bash 的4中运行模式
- Bash下Vi输入模式重设Ctrl-N, Ctrl-P, Ctrl-L等快捷键