Tornar o terminal usar pageup / pagedown em vez de shift-pageup / shift-pagedown?


12

Eu me cansei de shift-pgup para subir de página no terminal gnome, na linha de comando, no terminador, no guake etc.

Existe alguma maneira de fazer com que esses aplicativos facilmente usem as teclas de paginação para cima e para baixo na paginação?

Respostas:


9

Receio que isso não seja possível, pois nenhum PgUp / PgDown será enviado para aplicativos de linha de comando, o que tornará alguns deles inutilizáveis. Este é um bom e velho recurso Unix de dias.

Se você quiser uma rolagem mais amigável, sugiro usar o lesscomando É usado desta maneira:

command-with-lot-of-output | less

Isso iniciará o lesscomando com a saída do seu comando original. ( Mais informações sobre a saída da tubulação para outros programas podem ser encontradas aqui: http://www.dsj.net/compedge/shellbasics1.html )

É possível navegar menos usando as setas ou PgUp / PgDown. Para sua comodidade, também fornece pesquisas e muito mais (consulte man lesspara saber mais). Você pode sair lessapenas pressionando a qtecla


3
Eu pesquisei isso e, embora pareça haver mais de 100 pressionamentos de teclas que você pode mapear no console de comando, page-up e page-down não são dois deles!
usar o seguinte código

less não é adequado apenas para rolar para cima / para baixo no conteúdo do seu terminal e invocá-lo não é mais conveniente do que pressionar Shift. Não é culpa de Jakub, mas é triste que não haja uma resposta para essa pergunta.
Jonathan Hartley

@HDave aqui é como fazê-lo no xterm unix.stackexchange.com/questions/339160/…
William William

1
@JonathanHartley aqui está como fazê-lo no xterm unix.stackexchange.com/questions/339160/…
William William

1

Use xterme ajuste os atalhos de teclado (in ~/.Xresources) da seguinte maneira:

xterm*VT100.Translations: #override \n\
    <KeyPress>Prior:scroll-back(1,page)\n\
    <KeyPress>Next:scroll-forw(1,page)\n\

gnome-terminal diz que PageUp / PageDown é para aplicativos dentro do terminal e usá-los seria confuso ...


então por que o xterm suporta a opção e não o terminal gnome? De qualquer maneira, sou eu quem vinculou a resposta acima e postou a recompensa. Não estou dando recompensa a essa resposta.
William

askubuntu.com/users/33577/liam-william Opa, eu não li até o final (no topo, é sobre a área de transferência). E: justo o suficiente! Eu não daria a mim: tentei postar um URL que suporte meu status do terminal gnome, mas tudo o que encontrei estava desatualizado, ou seja, links inexistentes ...
aba

1

O Konsole é um emulador de terminal para o KDE que fornece opções relevantes, nas quais pode ser configurado para usarPage UpePage Downteclas para paginação direta. Não existem outros emuladores de terminal que achei tão fáceis quanto o Konsole para essa personalização.

Como direcionar paginação

No Konsole, execute as seguintes etapas.

  1. Na barra de menus, vá para "Configurações" e clique em "Configurar perfil atual ..." (Kubuntu 12.04) ou "Editar perfil atual ..." (Kubuntu 16.04) e uma janela será exibida.

  2. Clique na guia "Entrada" (Kubuntu 12.04) ou na guia "Teclado" (Kubuntu 16.04), que possui uma seção chamada "Vinculações de teclas" com listas predefinidas de combinações de teclas.

    Fixações de teclas em Konsole

  3. Selecione "Padrão (XFree 4)" e clique no botão "Editar ..." e outra janela será exibida.

  4. Role para baixo e procure a combinação de teclas PgDown-Shift-AnyModifiercom a saída \E[6~. Renomeie esta saída para ScrollPageDown.

  5. Role para baixo e procure a combinação de teclas PgUp-Shift-AnyModifiercom a saída \E[5~. Renomeie esta saída para ScrollPageUp.

  6. Clique no botão "OK" para finalizar e fechar as janelas.

Como testar a saída

Na etapa 3, há "Área de teste" para confirmar a saída para cada pressionamento de tecla.

  • Clique para destacar o campo de texto "Entrada:" e pressione as teclas Page Upe Page Down(uma de cada vez).

  • Confirme se a saída é a mesma que a renomeada.

    Lista de ligações principais e área de teste no Konsole

Ou escreva um script simples para ecoar a mensagem em loop. Eu incluí meu próprio script da seguinte maneira.

  • Copie e cole as seguintes linhas de código no editor de texto.

    #!/bin/bash
    
    echo "Started script"
    echo "If no input, then loop"
    while true
    do {
        echo "Hello, world"
        echo "Wait 1 second to loop [q to quit]"
        read -t 1 -n 1 INPUT && echo
        if [ "$INPUT" == "q" ]
            then break
            else echo "UTC now: $(date -u +%H%M%S)"
        fi
        continue
    }
    done
    echo "Ended script"
    
  • Salve como arquivo, ou seja, loop.she execute o script no terminal, ie bash loop.sh(não executável).

  • Aguarde até que as mensagens ecoadas preencham a área de visualização e comece a rolar a saída para baixo.

  • Em seguida, pressione as teclas Page Upe Page Downpara rolar para cima e rolar para baixo na área de visualização.

Eu testei usando o Konsole 2.8.5, o KDE 4.8.5 no Kubuntu 12.04.

Bônus: combinação e saída de teclas

Tudo bem, resposta bônus para esclarecimentos. Alguém pode se perguntar por que tive que editar essas combinações de teclas e não outras. Eu havia descoberto isso antes testando vários tipos de teclado.

A seguir, são apresentadas as combinações de teclas padrão e sua saída, que foram definidas usando "Área de Teste" no Konsole.

Para as teclas Page Up / Page Down primárias (incluindo a variante do teclado que requer pressionar a Fntecla Fn + PgUp / Fn + PgDn):

  • Combinação de teclas: PgDown-Shift-AnyModifier Saída:\E[6~

  • Combinação de teclas: PgUp-Shift-AnyModifier Saída:\E[5~

Para teclas secundárias Page Up / Page Down (atalho padrão no terminal que requer a Shifttecla Shift + PgUp / Shift + PgDn):

  • Combinação de teclas: PgDown+Shift-AppScreen Saída:ScrollPageDown

  • Combinação de teclas: PgUp+Shift-AppScreen Saída:ScrollPageUp

Observe que os sinais de menos -e mais +diferem entre cada palavra-chave para chaves primária e secundária. É assim que as teclas são traduzidas em caracteres equivalentes, pelo menos no Konsole.

No entanto, não tenho certeza se esses caracteres equivalentes são realmente entendidos por outros emuladores de terminal. Isso é tanto quanto eu sei por experiência própria.

Veredito

Para usuários avançados que não gostam de lidar com vários arquivos de configuração e soluções alternativas tediosas, o Konsole facilmente conquistará seu coração. Parece que ninguém havia notado esse nível de personalização oferecido pelo Konsole e pelo KDE nos últimos quatro anos. Que estranho.


Então, eu estou tentando começar a pressionar o turno, definindo a combinação de teclas para PgDownnão parece funcionar por algum motivo.
William

Você quer remover o atalho padrão? Se o esvaziamento do campo de saída não funcionar, substitua a saída padrão ScrollPageDown, ScrollPageUppor anteriormente substituída \E[6~, \E[5~por PgDown+Shift-AppScreene PgUp+Shift-AppScreencombinação de teclas, respectivamente. É importante clicar em "OK" para aplicar as configurações.
precisa saber é o seguinte

não, eu gostaria de não ter que pressionar Shift ao mesmo tempo que PgDown e PgUp. Não acredito que isso tenha respondido à pergunta.
William

Você quer dizer que as etapas 4 e 5 não funcionaram para você? Estranho. Alguma captura de tela com link para mostrar o que você está vendo?
precisa saber é o seguinte

1
Isso funcionou como um encanto no Konsole 16.08.3 no Fedora 24. Existem algumas pequenas diferenças - a guia é chamada de "Teclado" em vez de "Entrada", mas a linha inferior é a parte que mostra como renomear a saída estava no local. . Obrigado por remover uma coceira de 10 anos que tive! ++ 1 ... Se eu pudesse dar +10, daria.
Mike S

-2

Você pode usar o morecomando assim:

command-with-lots-of-output  |  more

isso iniciará a saída original do comando com mais.

morepode ser navegado com 'espaço'. Basta pressionar o espaço e ver a saída do comando como páginas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.