4

Я должен понимать, что оба эти сочетания клавиш выполняют одну и ту же цель: очистка экрана терминала в OS X.

Единственное заметное различие, которое я вижу, заключается в том, что ярлык Cmd ⌘+K на самом деле отображается на вкладке « Edit » в строке меню, а Ctrl+L - нет, что ясно указывает на то, что происходят разные вещи.

Что происходит по-разному при использовании этих разных ярлыков? Почему есть два ярлыка, которые очищают экран, и является ли этот «ярлык 2 - 1 результат» общей темой в OS X?

1 ответ1

4

Одно из отличий состоит в том, что Cmd+K очищает буфер прокрутки, а также экран. Ctrl+L только очищает экран, эффективно перемещая то, что на нем "вверх", в буфер прокрутки.

Другое отличие состоит в том, что Ctrl+L выполняется процессом, выполняющимся внутри терминала. Например, bash очистит экран и перерисовает приглашение, включая все незавершенные команды. Другие программы могут ничего не делать или обновлять экран, не очищая его.

Cmd+K, с другой стороны, выполняется самим Терминалом, независимо от того, что выполняется в окне, поэтому он может скрыть вывод из программы.

Есть два ярлыка (или больше), потому что вы взаимодействуете с двумя программами, Терминалом и любым процессом, выполняющимся внутри него. Я бы не сказал, что это типично для OS X. Скорее, это обычное явление в любой многоуровневой вычислительной среде. Вы должны запустить (только) DOS (без TSR), чтобы создать среду, в которой все сочетания клавиш интерпретируются одним приложением. Но поскольку два ярлыка в этом случае делают разные вещи, перекрытие действительно только поверхностно. Например, Cmd+w и Cmd+q могут показаться одинаковыми для некоторых пользователей, но на самом деле они разные. То же самое верно для Ctrl+L и Cmd+K.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .