ctrl+k(windows/linux)或cmd+k(macos)是vscode真正清屏的默认快捷键,直接触发terminal: clear命令,彻底清空可视区和滚动缓冲区,不重启进程、不中断运行脚本,且兼容所有shell。

Ctrl+K(Windows/Linux)或 Cmd+K(macOS)是真正生效的默认快捷键
这个组合键直接触发 VSCode 内置命令 Terminal: Clear,清空当前终端面板的可视区域 + 整个滚动缓冲区。它不重启进程、不中断正在运行的脚本(比如 node server.js 或 npm run dev),所有 shell(Bash/Zsh/PowerShell/cmd)都适用。
常见错误现象:按 Ctrl+L 没反应,或只把光标推到顶部——因为 VSCode 默认把它绑给了「滚动到顶部」,不是清屏;敲 clear 或 cls 后一滚鼠标旧输出全回来,是因为它们只发 ANSI 序列 \033[2J\033[H,不碰滚动缓冲区。
为什么 Terminal: Clear 比 clear/cls/reset 更可靠
clear 和 cls 是 shell 层命令,依赖终端模拟器(xterm.js)解析 ANSI 序列,而 VSCode 的实现偏保守:在 WSL 或旧版 PowerShell 里常只清视口、留“幽灵历史”;reset 或 printf '\033c' 更危险,可能卡住终端、丢颜色、甚至让 Ctrl+C 失效。
-
Terminal: Clear由 VSCode 主进程直接控制终端实例,绕过 shell 解析,兼容性无死角 - 它清理的是前端内存里的缓冲区数据,不是靠“覆盖”或“重绘”,所以滚轮再也拉不出旧内容
- 即使终端卡死、输入无响应,只要还能聚焦到终端 tab,
Ctrl+K通常仍有效(Ctrl+C中断当前任务后再试)
自定义快捷键绑定 Terminal: Clear 到 Ctrl+L(安全覆盖)
想用 Ctrl+L 清屏可以,但得手动改。VSCode 默认的「滚动到顶部」功能极少使用,且 Bash/Zsh 的行内 Ctrl+L 在 VSCode 终端里本来就不透传(xterm.js 拦截了),所以覆盖基本没副作用。
操作步骤:
- 打开快捷键设置:
Ctrl+K Ctrl+S(Windows/Linux)或Cmd+K Cmd+S(macOS) - 右上角点「+」→ 命令栏搜
workbench.action.terminal.clear→ 选中它 - 按下
Ctrl+L(或Cmd+L)→ 提示冲突时点「替换」 - 保存后,只对当前激活的终端 tab 生效;多个 tab 时必须先点进去再按
Terminal: Clear 和 Terminal: Clear Scrollback 的区别
二者都从命令面板调用(Ctrl+Shift+P → 输入对应命令),但清理粒度不同:
-
Terminal: Clear:清空当前显示区 + 当前滚动缓冲区(即你能滚上去看到的历史),适合日常调试归零 -
Terminal: Clear Scrollback:强制丢弃所有已缓冲的历史行(包括尚未滚动到的、可能已达数千行的旧输出),适合终端明显变慢、输入延迟时使用
容易被忽略的一点:自定义快捷键只作用于 VSCode 内置终端,不影响系统原生 Terminal.app 或 iTerm2;而且无论你绑定哪个快捷键,它永远只清理「当前激活」的那个终端 tab,不会批量处理。











