¿Hay alguna forma de hacer que el less
programa repita la primera línea (o las primeras 2 líneas) en cada página mostrada?
¿Hay algún otro programa de buscapersonas que pueda hacer esto?
Esto sería un asesino aplicación para la tabla de base de datos de navegación, pensar mysql
o psql
, o gqlplus
...
Para aquellos de ustedes que no tienen la idea, vea la captura de pantalla en la parte inferior de esta página . Quiero repetir la línea del encabezado + barra ascii horizontal.
command-line
less
pager
filiprem
fuente
fuente
Respuestas:
Hay una solución usando Vim.
Primero, necesitamos una macro Vim, que hará la mayor parte del trabajo, la guardo en
~/.vim/plugin/less.vim
:En segundo lugar, para emular un buscapersonas, necesito invocar vim para que:
Puse esto junto como script de ayuda en
~/bin/vimpager
:Tercero, necesito anular la variable de entorno $ PAGER, pero solo para psql (agregue esto a mi
~/.bash_aliases
):fuente
¿Has probado el modo SQL en Emacs / XEmacs?
Ciertamente, no es tan fácil de usar como
more
oless
, pero hace lo que está pidiendo, dejando una fila de encabezado mientras se desplazan los resultados vertical y horizontalmente.fuente
Esto toma mucho de la respuesta aceptada, pero agrega ...
NULL
Verdadero / Falso (y T / F, S / N, Sí / No)Es posible que algunas partes tengan que ajustarse para su salida específica, ya que no las uso
psql
. También tengo funciones auxiliares ligeramente diferentes para mis propósitos, pero son similares a las de la respuesta aceptada.Entrada de muestra
Código
fuente
Podrías usar múltiples 'regiones' en
screen
:Entonces solo necesita establecer la variable de entorno $ FILE:
fuente
fit
comando de pantalla). Pensé que no querías que la parte superior se desplazara. Cuando lo probé por mi cuenta, ambas ventanas se desplazan como deberían. La parte superior se desplaza dos líneas (1-2, 3-4, 5-6, etc.) y la parte inferior se desplaza según sea necesario. ¿Cuál es el comportamiento que estás viendo? /Puede agregar un número antes del 'avance' y desplazará N líneas, no una longitud completa. Entonces, si la ventana de su terminal tiene 40 líneas, escriba
38f
para comenzar a desplazarse solo 38 líneas, dejando las últimas 2 líneas de la última 'página'. Desde la página del manual:fuente
screen
otmux
para crear dos paneles, cambie el tamaño de la primera a dos líneas (resize 2
) y luego ejecuteless
, en el segundo panel, ejecuteless
normalmente. Puede configurar esto como un script con un archivo .screenrc específico. Ver respuesta alternativa.