¿Hacer que el terminal use pageup / pagedown en lugar de shift-pageup / shift-pagedown?


12

Me cansé bastante de shift-pgup para subir de página en el terminal gnome, la línea de comando, el terminador y guake, etc.

¿Alguna forma de hacer que estas aplicaciones utilicen las teclas directas de página arriba y página abajo para paginar?

Respuestas:


9

Me temo que esto no es posible, ya que no se enviará PgUp / PgDown a las aplicaciones de línea de comandos, lo que hará que algunas de ellas no puedan utilizarse. Esta es una buena característica de Unix.

Si desea un desplazamiento más fácil de usar, sugiero usar el lesscomando. Se usa de esta manera:

command-with-lot-of-output | less

Esto iniciará el lesscomando con la salida de su comando original. ( Puede encontrar más información sobre la salida de tuberías a otros programas aquí: http://www.dsj.net/compedge/shellbasics1.html )

Menos se puede navegar usando flechas o PgUp / PgDown. Para su comodidad, también proporciona búsquedas y más (consulte man lesspara más información). Puede salir lesssimplemente qpresionando la tecla.


3
Investigué muchísimo sobre esto y, aunque parece que hay más de 100 pulsaciones de teclas que puedes asignar en la consola de comandos, ¡subir y bajar página no son dos de ellas!
HDave

less no es adecuado para desplazarse hacia arriba / abajo en el contenido de su terminal, e invocarlo es apenas más conveniente que presionar shift. No es culpa de Jakub en absoluto, pero es triste que no haya una respuesta a esta pregunta.
Jonathan Hartley

@HDave aquí es cómo hacerlo en xterm unix.stackexchange.com/questions/339160/…
William

1
@ JonathanHartley aquí es cómo hacerlo en xterm unix.stackexchange.com/questions/339160/…
William

1

Use xtermy modifique las combinaciones de teclas (in ~/.Xresources) de esta manera:

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

gnome-terminal dice PageUp / PageDown es para aplicaciones dentro del terminal y usarlas sería confuso ...


entonces, ¿por qué xterm admite la opción y no el terminal gnome? De cualquier manera, yo soy el que vinculó la respuesta anterior y publicó la recompensa. No estoy dando una recompensa por esta respuesta.
William

askubuntu.com/users/33577/liam-william Vaya, no leí hasta el final (en la parte superior, se trata del portapapeles). Y: justo lo suficiente! No me daría a mí: He intentado publicar una URL que apoya mi statemtent gnome-terminal, pero todo lo que encontré eran obsoletos, es decir, enlaces inexistentes ...
aba

1

Konsole es un emulador de terminal para KDE que proporciona una opción relevante, en la que se puede configurar para usarPage UpyPage Downteclas para paginación directa. No hay otros emuladores de terminal que encontré tan fáciles como Konsole para tal personalización.

Cómo dirigir la paginación

En Konsole, siga los siguientes pasos.

  1. En la barra de menú, vaya a "Configuración" y haga clic en "Configurar perfil actual ..." (Kubuntu 12.04) o "Editar perfil actual ..." (Kubuntu 16.04) y aparecerá una ventana.

  2. Haga clic en la pestaña "Entrada" (Kubuntu 12.04) o en la pestaña "Teclado" (Kubuntu 16.04), que tiene una sección llamada "Asignaciones de teclas" con listas predefinidas de enlaces de teclas.

    Vinculaciones de teclas en Konsole

  3. Seleccione "Predeterminado (XFree 4)" y haga clic en el botón "Editar ...", luego aparecerá otra ventana.

  4. Desplácese hacia abajo y busque la combinación de teclas PgDown-Shift-AnyModifiercon salida \E[6~. Cambie el nombre de esta salida a ScrollPageDown.

  5. Desplácese hacia abajo y busque la combinación de teclas PgUp-Shift-AnyModifiercon salida \E[5~. Cambie el nombre de esta salida a ScrollPageUp.

  6. Haga clic en el botón "Aceptar" para finalizar y cerrar las ventanas.

Cómo probar la salida

En el paso 3, hay "Área de prueba" para confirmar la salida de cada pulsación de tecla.

  • Haga clic para enfocar en el campo de texto "Entrada:" y presione las teclas Page Upy Page Down(una a la vez).

  • Confirme que la salida sea la misma que las renombradas.

    Lista de combinaciones de teclas y área de prueba en Konsole

O bien, escriba un script simple para hacer eco del mensaje en bucle. He incluido mi propio script de la siguiente manera.

  • Copie y pegue las siguientes líneas de código en el 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"
    
  • Guardar como archivo, es decir, loop.shy ejecutar el script en la terminal, es decir bash loop.sh(no ejecutable).

  • Espere hasta que los mensajes con eco llenen el área de visualización y comience a desplazar la salida hacia abajo.

  • Luego, presione las teclas Page Upy Page Downpara desplazarse hacia arriba y hacia abajo en el área de visualización.

He probado usando Konsole 2.8.5, KDE 4.8.5 en Kubuntu 12.04.

Bonus: combinación de teclas y salida

Muy bien, respuesta extra para aclaraciones. Uno puede preguntarse por qué tuve que editar esas combinaciones de teclas y no otras. Lo había descubierto antes probando varios tipos de teclado.

Las siguientes son combinaciones de teclas predeterminadas y su salida, que se han resuelto usando "Área de prueba" en Konsole.

Para las teclas primarias Page Up / Page Down (incluida la variante de teclado que requiere presionar la Fntecla aka Fn + PgUp / Fn + PgDn):

  • Combinación de teclas: PgDown-Shift-AnyModifier Salida:\E[6~

  • Combinación de teclas: PgUp-Shift-AnyModifier Salida:\E[5~

Para las teclas secundarias ShiftRe Pág / Av Pág (acceso directo predeterminado en la terminal que requiere la tecla aka Shift + PgUp / Shift + PgDn):

  • Combinación de teclas: PgDown+Shift-AppScreen Salida:ScrollPageDown

  • Combinación de teclas: PgUp+Shift-AppScreen Salida:ScrollPageUp

Observe que los signos menos -y más +difieren entre cada palabra clave para las claves principales y secundarias. Así es como las pulsaciones de teclas se traducen en caracteres equivalentes, al menos en Konsole.

Sin embargo, no estoy seguro de si esos caracteres equivalentes son realmente entendidos por otros emuladores de terminal. Esto es hasta donde yo sé por experiencia propia.

Veredicto

Para los usuarios avanzados que no les gusta lidiar con varios archivos de configuración y soluciones tediosas, Konsole se ganará fácilmente su corazón. Parece que nadie se había dado cuenta de este nivel de personalización ofrecido por Konsole y KDE durante los últimos cuatro años. Que extraño.


Por lo tanto, estoy tratando de evitar presionar el cambio y configurar la combinación de teclas PgDownno parece funcionar por alguna razón.
William

¿Quiere eliminar el acceso directo predeterminado? Si vaciar el campo de salida no funciona, reemplace salida por defecto ScrollPageDown, ScrollPageUpcon ex reemplazado \E[6~, \E[5~para PgDown+Shift-AppScreeny PgUp+Shift-AppScreencombinación de teclas respectivamente. Es importante hacer clic en "Aceptar" para que se aplique la configuración.
clearkimura

no, me gustaría no tener que presionar Shift al mismo tiempo que PgDown y PgUp. No creo que esto haya respondido la pregunta.
William

¿Quieres decir que los pasos 4 y 5 no te funcionaron? Extraño. ¿Alguna captura de pantalla con enlace para mostrar lo que estás viendo?
clearkimura

1
Esto funcionó a las mil maravillas en Konsole 16.08.3 en Fedora 24. Hay algunas diferencias menores: la pestaña se llama "Teclado" en lugar de "Entrada", pero la parte inferior es esa parte que muestra cómo cambiar el nombre de la salida. . ¡Gracias por eliminar la picazón de 10 años que he tenido! ++ 1 ... Si pudiera dar +10, lo haría.
Mike S

-2

Puedes usar el morecomando así:

command-with-lots-of-output  |  more

Esto iniciará la salida original de su comando con más.

morese puede navegar con 'espacio'. Simplemente presione el espacio y vea la salida del comando como páginas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.