系统学习
学习路径总入口:先选领域,再建立模型,最后用故障演练验证
→
bash/zsh Readline 与 Windows Terminal、iTerm2、GNOME Terminal 快捷键
适用场景
在 bash/zsh 里编辑长命令、搜索历史、控制前后台任务时用这一页;后半部分列出 Windows Terminal、iTerm2 和 GNOME Terminal 的终端级键位。Readline 组合键大多通用,但 macOS 要先把 Option 配成 Meta,且终端模拟器会先截获一部分组合键。
光标与删除(Readline)
| 快捷键 |
作用 |
备注 |
Ctrl+A |
移到行首 |
bash/zsh 通用 |
Ctrl+E |
移到行尾 |
bash/zsh 通用 |
Ctrl+B / Ctrl+F |
左移或右移一个字符 |
等价于左/右方向键 |
Alt+B / Alt+F |
左移或右移一个单词 |
macOS 需把 Option 设为 Meta |
Ctrl+U |
删除到行首 |
bash;zsh 默认删除整行 |
Ctrl+K |
删除到行尾 |
与 Ctrl+U 方向相反 |
Ctrl+W |
删除光标前一个单词 |
以空白分隔 |
Alt+D |
删除光标后一个单词 |
与 Ctrl+W 方向相反 |
Ctrl+Y |
粘贴最近删除的文本 |
只保留最近一段 kill ring |
历史与进程控制
| 快捷键 |
作用 |
备注 |
Ctrl+R |
反向搜索历史命令 |
再按继续向前查找 |
Ctrl+G |
退出搜索或取消当前编辑 |
放弃本次搜索 |
Ctrl+P / Ctrl+N |
上一条或下一条历史命令 |
等价于上/下方向键 |
Ctrl+L |
清屏 |
不清除历史记录 |
Ctrl+C |
中断当前命令 |
发送 SIGINT |
Ctrl+D |
结束输入或退出 shell |
空行时关闭会话 |
Ctrl+Z |
挂起当前进程 |
用 fg 恢复,bg 转后台 |
Windows Terminal
| 快捷键 |
作用 |
备注 |
Ctrl+Shift+T |
新建标签页 |
默认打开当前配置 |
Ctrl+Shift+W |
关闭当前窗格或标签页 |
多窗格时先关窗格 |
Ctrl+Tab / Ctrl+Shift+Tab |
下一个或上一个标签页 |
标签页多时比鼠标快 |
Ctrl+Shift+P |
打开命令面板 |
可搜索所有终端动作 |
Alt+Shift+D |
向右拆分窗格 |
拆分方向可在设置中改 |
Ctrl+Shift+F |
搜索终端缓冲区 |
与 shell 的 Ctrl+R 不同 |
iTerm2(macOS)
| 快捷键 |
作用 |
备注 |
Cmd+T |
新建标签页 |
新建窗口用 Cmd+N |
Cmd+D |
垂直拆分窗格 |
与 tmux 分屏相互独立 |
Cmd+Shift+D |
水平拆分窗格 |
拆分后焦点在新窗格 |
Cmd+Option+方向键 |
在窗格间移动焦点 |
也可用鼠标点击 |
Cmd+K |
清空屏幕缓冲区 |
不结束正在运行的命令 |
GNOME Terminal
| 快捷键 |
作用 |
备注 |
Ctrl+Shift+T |
新建标签页 |
新建窗口用 Ctrl+Shift+N |
Ctrl+PageUp/PageDown |
切换标签页 |
焦点在终端内时生效 |
Ctrl+Shift+C / Ctrl+Shift+V |
复制或粘贴 |
不能写成 Ctrl+C |
Ctrl+Shift+F |
搜索终端缓冲区 |
搜索框支持正则选项 |
F11 |
全屏显示 |
再按退出 |
易错点
Ctrl+C 在终端里是发送 SIGINT,不是复制;复制用 Ctrl+Shift+C 或 iTerm2 里配置的 Cmd+C。
Ctrl+U 在 bash 删到行首、在 zsh 默认删整行,跨 shell 的说明别互相照搬。
Ctrl+S 会冻结终端输出(XOFF),按 Ctrl+Q 恢复;看起来像卡死,其实是流控。
- macOS 上
Option+B/F 默认输入特殊字符,要在 Terminal 里勾选“将 Option 用作 Meta 键”,iTerm2 设为 Esc+。
Ctrl+Z 只是挂起进程,任务仍在后台暂停;恢复用 fg,终止用 Ctrl+C 或 kill。
相关条目
参考链接
读完自测
- 终端里按
Ctrl+C 为什么没有复制选中文本?
Ctrl+U 在 bash 和 zsh 的默认行为有什么不同?
- 在 macOS 上
Alt+B 没有按单词移动,应该改什么设置?
答案
- 终端把
Ctrl+C 解释为 SIGINT 发给前台进程;复制要用 Ctrl+Shift+C 或终端自己的复制键。
- bash 删除光标到行首,zsh 默认删除整行;需要一致行为时改键位绑定或换用
Ctrl+K。
- 把 Option 配成 Meta:Terminal 勾选“将 Option 用作 Meta 键”,iTerm2 在 Profiles → Keys 里设为 Esc+。