Ctrl+L 和 Cmd+K 在清除终端屏幕方面有什么区别?

Ctrl+L 和 Cmd+K 在清除终端屏幕方面有什么区别?

我必须意识到这两个键盘快捷键都完成了完全相同的任务:清除 OS X 中的终端屏幕。

我能看到的唯一明显区别是Cmd ⌘+K快捷键实际上看到的是进入Edit菜单栏中的选项卡,但Ctrl+L没有,这清楚地表明发生了不同的事情。

使用这些不同的快捷方式时,会出现什么不同情况?为什么有两个清除屏幕的快捷方式,这种“2 个快捷方式 - 1 个结果”是 OS X 中的一般主题吗?

答案1

一个区别是 Cmd+K 会清除回滚缓冲区和屏幕。Ctrl+L 只会清除屏幕,实际上是将屏幕上的内容“向上”移动到回滚缓冲区中。

另一个区别是 Ctrl+L 由终端内运行的进程执行。例如,bash 将清除屏幕并重新绘制提示符,包括其中任何未完成的命令。其他程序可能不会执行任何操作,或者可能会刷新屏幕而不清除它。

另一方面,Cmd+K 由终端本身执行,无论窗口中运行什么,因此它可能会隐藏程序的输出。

有两个快捷键(或更多),因为您正在与两个程序交互,即终端和其中运行的任何进程。我不会说这是 OS X 的典型特征。相反,这是任何多层计算环境中的常见现象。您必须运行(仅)DOS(没有任何 TSR)才能体验到所有键盘快捷键都由单个应用程序解释的环境。但由于在这种情况下的两个快捷键执行不同的操作,因此重叠实际上只是表面上的。例如,对于某些用户来说,Cmd+w 和 Cmd+q 可能看起来执行相同的操作,但实际上,它们是不同的。Ctrl+L 和 Cmd+K 也是如此。

相关内容