Saltar al último mensaje en la terminal (o tmux)

8

En una terminal, ¿hay atajos para saltar a un aviso anterior / siguiente? Desplazarse hacia arriba e intentar encontrar el inicio de un registro ralentiza mi flujo de trabajo.

Estoy usando iTerm en OSX, pero esto debería ser aplicable a cualquier terminal Unix. Una solución en Tmux también ayudaría.

domi91c
fuente
Si su nombre de host está en su sistema, que podría revertir búsqueda para volver ciclo de esa manera ...
jasonwryan
Tubería a less.
Kusalananda

Respuestas:

4

Dentro de tmux v2.4 + ( confirmación relevante ), puede definir un enlace para saltar a los últimos mensajes con una fiabilidad aceptable:

bind-key b copy-mode\;\
           send-keys -X start-of-line\;\
           send-keys -X search-backward " "

Donde el " "es un espacio sin interrupciones y se realiza un cambio correspondiente para que su solicitud de shell lo contenga ( $PS1o $PROMPT_COMMANDen bash).

Puede requerir un cuidado especial configurarlo en el indicador de comandos de shell y la configuración de tmux, ya que podría cambiarse a espacio normal durante las operaciones de copiar y pegar (consulte el método con vim en los comentarios).

Alternativamente, puede probar su carácter de espacio unicode alternativo favorito o cualquier cosa que ocurra raramente en las salidas de comando y que esté listo para aceptar ver en su solicitud (🍌?).

Esto también podría ser una combinación de varios caracteres para obtener aún menos falsos positivos. Sin embargo, probablemente sea mejor elegir algo al final del mensaje para facilitar la navegación.

Crédito :

lbonn
fuente
1
Cortar y pegar no conseguía que el personaje espacial que no se rompía funcionara para mí, pero pude hacerlo funcionar usando Vim. En el modo de inserción, use CTRL-k <space><space>para insertar el espacio que no se rompe. Luego, en el modo normal, el gacomando imprime el valor ASCII del carácter debajo del cursor que puede usarse para confirmar que este carácter es diferente de otros espacios.
robenkleene
0

Si utiliza lesspara ver el contenido del archivo de registro, puede desplazarse hacia adelante y hacia atrás utilizando las teclas Spacey b(consulte el lessmanual). También puede realizar búsquedas en la salida con /(y ?para búsqueda hacia atrás).

Para ver la salida de un programa en less, simplemente canalice la salida a él:

$ ./myprogram | less

Para guardar adicionalmente la salida en un archivo:

$ ./myprogram | tee myprogram.out | less

Si presiona Fmientras lee un archivo en el que se está escribiendo, lessse comportará como tail -f. Para interrumpir esto, presione Ctrl+ c.

Kusalananda
fuente