Qual é a diferença entre Ctrl + L e Cmd + K para limpar a tela do terminal?

3

Tenho que perceber que esses dois atalhos de teclado atingem exatamente o mesmo objetivo: limpar a tela do terminal no OS X.

A única diferença discernível que eu posso ver é que o atalho Cmd + K realmente entra na guia Edit na barra de menu, mas Ctrl + L não indica claramente que coisas diferentes estão acontecendo.

O que está acontecendo de maneira diferente no uso desses diferentes atalhos? Por que existem dois atalhos que limpam a tela e esse "2 atalho - 1 resultado" é um tema geral no OS X?

    
por LanceLafontaine 02.10.2014 / 03:04

1 resposta

4

Uma diferença é que Cmd + K limpa o buffer de rolagem, bem como a tela. Ctrl + L apenas limpa a tela, movendo efetivamente o que está nela "para cima" no buffer de rolagem.

Outra diferença é que o Ctrl + L é executado pelo processo executado dentro do Terminal. Para Por exemplo, o bash limpará a tela e redesenhará o prompt, incluindo qualquer comando inacabado existente. Outros programas podem não fazer nada ou atualizar a tela sem limpá-la.

O Cmd + K, por outro lado, é executado pelo próprio Terminal, independentemente do que está sendo executado a janela, por isso pode ocultar a saída do programa.

Existem dois atalhos (ou mais) porque você está interagindo com dois programas, Terminal e qualquer processo que esteja sendo executado dentro dele. Eu não diria que isso é típico do OS X. Pelo contrário, é uma ocorrência comum em qualquer ambiente de computação de várias camadas. Você teria que executar (somente) o DOS (sem qualquer TSR) para experimentar um ambiente onde todos os atalhos de teclado fossem interpretados por um único aplicativo. Mas como os dois atalhos neste caso fazem coisas diferentes, a sobreposição é realmente apenas superficial. Por exemplo, Cmd + we Cmd + q podem parecer fazer a mesma coisa para alguns usuários, mas na verdade, eles são diferentes. O mesmo vale para Ctrl + L e Cmd + K.

    
por 02.10.2014 / 03:38