在 Bash 的默认 Emacs 编辑模式下,Alt(也叫 Meta)键是实打实能帮你提高生产力的“神键”,相关技巧却鲜为人知。本文整理了所有跟 Alt 相关的快捷键供大家参考和记忆。
1. Alt + . (或 Alt + _)插入上一个命令的最后一个参数
- 功能:把上一条命令的最后一个参数粘贴到光标当前位置
- 连续按多次 Alt+. 可以依次往前取更早命令的参数
- 示例:
$ echo hello world $ vim ← 在这里连按 Alt+. → 自动补全成 vim hello world $ cat ← 再按一次 Alt+. → cat hello world $ tar -xzf ← 再按一次 → tar -xzf hello world - Alt + _ 是等价键(下划线),有些键盘 Alt+. 不灵敏时可以用这个
2. Alt + b 向后(backward)移动一个单词
- 功能:光标往左跳一个单词
- 示例:
cp /very/long/path/to/src/file.txt /dest/
光标在行尾时,连按 4 次 Alt+b,光标瞬间回到src/开头
3. Alt + f 向前(forward)移动一个单词
- 功能:光标往右跳一个单词
- Alt + b 和 Alt + f 是成对的神键,配合方向键几乎可以抛弃鼠标
4. Alt + t 交换光标所在单词和前一个单词
- 功能:快速调换两个相邻单词顺序
- 示例:你敲错了
echo yyds nb
把光标移到yyds上,按 Alt+t → 立刻变成echo nb yyds
5. Alt + u 从光标位置开始把当前单词改为全大写
- 示例:光标在
foo的f上 → 按 Alt+u → 变成FOO,光标停在单词末尾后面
6. Alt + l (小写 L)从光标位置开始把当前单词改为全小写
- 示例:光标在
BAR的B上 → 按 Alt+l → 变成bar
7. Alt + c 把当前单词改为首字母大写,其余小写(标题式)
- 示例:光标在
bash开头 → 按 Alt+c → 变成Bash
8. Alt + # 快速把当前命令行整行注释(行首加 #)
- 功能:把当前输入的命令注释掉,加入历史但不执行,常用于临时保存复杂命令(先按
Shift再按3) - 示例:
$ find . -name "*.py" -exec grep -H "def" {} \; ← 还没想好要不要跑
按 Alt+# 后变成:
# find . -name "*.py" -exec grep -H "def" {} \;
回车后命令不会执行,但已经进入历史,下次 Ctrl+r 就能搜到
9. Alt + r 撤销对当前命令行的所有修改(恢复历史原貌)
- 场景:你用 Ctrl+r 搜出一条历史命令,想改一点结果改乱了
- 一键 Alt+r → 立刻变回搜出来时的原始命令,超级救命!
10. Alt + d 从光标位置删除一个单词(向前删)
- 比 Ctrl+w 更常用,因为 Ctrl+w 是向后删到单词开头,而 Alt+d 是从光标位置直接删到单词结尾
- 示例:
rm -rf /very/long/path/光标在long中间 → 按 Alt+d → 删除long/path/整个部分
11. Alt + Delete (等同于上面的 Alt+d)
- 很多终端里 Alt+Delete 就是向前删一个单词,比 Alt+d 更好按
12. Alt + Backspace (等同于 Ctrl+w)
- 向后删除一个单词,和 Ctrl+w 完全一样
总结:你只需要记住这 6 个最常用的 Alt 组合就够日常飞起了
| 快捷键 | 功能 | 推荐记忆口诀 |
|---|---|---|
| Alt + . | 上一个命令的参数 | “点”取上次参数 |
| Alt + b/f | 按单词左右跳 | b=back, f=forward |
| Alt + t | 交换两个单词 | t=transpose |
| Alt + u/l/c | 大写/小写/首字母大写 | u=upper, l=lower, c=capital |
| Alt + # | 整行注释 | # 就是注释嘛 |
| Alt + r | 一键撤销所有改动 | r=revert |
熟练掌握这几组 Alt 键后,你在命令行的输入速度会提升 2~3 倍,尤其是 Alt+. 和 Alt+b/f,几乎是重度 Bash 用户的肌肉记忆。
去终端里多练 10 分钟,你就再也回不去了!
原文 https://blog.csdn.net/2301_79518550/article/details/155422161