这是 Bash One-Liners Explained 系列的第五篇文章。在这一部分,我会教你如何快速在 Bash 命令行中使用 Emacs 风格的键盘导航快捷键。
0. 行编辑模式介绍
Bash 使用 GNU readline 库来提供行编辑特性。readline 库同时支持 Emacs 风格和 Vi 风格的快捷键绑定,也支持用户去做自定义绑定。默认情况下,readline 会使用 Emacs 风格的键绑定,不过你可以很方便的切换到 Vi 风格,或者自定义设置。
执行set -o emacs
命令切换到 Emacs 风格,set -o vi
则会切换到 Vi 风格。
除此之外,你仍可以通过~/.inputrc
或者bind
命令来自定义快捷键绑定。例如,bind '"\C-f": "ls\n"'
将CTRL+F
绑定为执行ls
命令。你可以通过查阅 Bash 手册中的 readline 一节来更多地了解 readline 的快捷键绑定语法。
1. 移动光标到行首
CTRL + a
2. 移动光标到行尾
CTRL + e
3. 光标往后(向左)移动一个单词
ESC + b
或者 ALT + b
4. 光标往前(向右)移动一个单词
ESC + f
或者 ALT + f
5. 删除上一个单词
CTRL + w