Bash 常用快捷键总结

Bash 中,使用的是 ReadLine 这个库来处理交互式输入。它支持两种键盘快捷键使用风格。默认是 Emacs,还有一种是 Vi。 使用 bash -o emacsbash -o vi 可以切换风格,但由于默认都是 emacs,所以接下来将只介绍 emacs 风格的快捷键。 若要了解更多,还请查看 bash 的帮助文档 READLINE 部分。 哈哈,大多数人都只听说过 emacs,而没有使用过,据说是神之编辑器(编辑器之神?),没想到每天都在接触着!

在我见过的人群中,在 Bash 命令的 输入/修改/删除 的操作上大概分三种类型。第一类:只会使用 Backspace向前删除键、方向键。如果一行命令的最前面有拼写错误,就狂按左方向键(或按着不放),然后修改。然后又狂按右方向键,回到结束,继续编辑。要取消命令的输入,就狂按backspace向前删除键。这是最最笨的一类(原谅我用了“笨”这个词),占比很高(就算是很多后端多年经验的程序员,也不免这样);第二类:和第一类相比,多会一些常规的键盘快捷键,比如 HOME 回到行开始,END 回到行末。这一类看起来要聪明一点,不会显得特别小白。我本人也在这一阶段停留了非常之长久才逐渐成为第三类;第三类:多数操作使用快捷键,一看就像是大神在操作,动作之迅速。

接下来我就将列出一些特别方便的、平常用得多、大大提高命令行工作效率的的快捷键组合。

注:^x代表Ctrl + xM-x代表Meta/Alt/Option + x 键。⌘x代表Command+x(macOS专用)。

BASH常用快捷键
分类按键助记说明
光标移动^aanchor,^光标移动到行首
^eend光标移动到行尾
^fforward光标向前(右)移动一个字符
^bbackward光标向后(左)移动一个字符
M-fforward光标向前(右)移动到单词结尾
M-bbackward光标向后(左)移动到单词开始
文本改变^ddelete删除光标所在位置的一个字符
^wword删除光标所在位置前面的一个单词
^hh(vim)删除光标所在位置前面的一个字符
^ttranspose交换光标所在位置的两个字符的位置
M-ttranspose交换光标所在位置的两个单词的位置
^u?(kill Until beginning)删除光标前面的所有字符
^kkill删除光标后面的所有字符
^x ^eeditor$EDITOR编辑器中编辑当前命令,然后执行
历史命令^pprevious前一个命令
^nnext后一个命令
其它^l?(cLear)把当前行提到屏幕的最上端(类似清屏)
⌘k?(Clear Buffer)清屏
^i?TAB
^j?Enter
M-..(vim)插入上一个命令的最后一个参数

发表于:2016年07月10日 ,阅读量:877 ,标签:linux · 总结 · Bash

版权声明:若非特别注明,本站所有文章均为作者原创,转载请务必注明原文地址。