Por defecto, se manusa lesspara generar texto. ¿Cómo puedo decirle que solo salga a stdout? Mi emulador de terminal tiene una barra de desplazamiento y una función de búsqueda y quiero usarlas en lugar de las teclas de flecha.
En realidad se utiliza lo que se especifica en el MANPAGERo la PAGERvariable de entorno.
Dependiendo de su manimplementación y versión, también podría haber un interruptor de línea de comando para especificar el localizador.
Con la implementación de man-db utilizo todas las formas siguientes de trabajo:
MANPAGER=cat man man
PAGER=cat man man
MANOPT='-P cat' man man
man -P cat man
Para configurarlo permanentemente, simplemente agréguelo a su ~/.bashrc(u otro archivo de inicialización utilizado por su shell):
export MANPAGER=cat
Eso también funciona con algunas manimplementaciones anteriores , mientras que MANOPTes específico de man-db:
export MANOPT='-P cat'
(Mejor no lo establezca de PAGEResa manera. Esa también es utilizada por muchas otras aplicaciones).
También podría haber un archivo de configuración global. man-db tiene /etc/man_db.confo /etc/manpath.config. Ahí puedes configurar:
DEFINE pager cat
Pero desafortunadamente eso se toma en consideración solo si MANPAGERni PAGERse establece.
~/.bashrc, También podría envolver la exportación en un condicional por lo que sólo establece el localizador si es el terminal apropiado / emulador:if [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi; obviamente reemplazarxtermcon el emulador apropiado.MANPAGER. Usé la palabra "desafortunadamente" por el hecho de que el comportamiento también se aplicaPAGER, que es una configuración genérica (utilizada por muchas herramientas) y preferiría que no anule una configuración específica (utilizada por una sola herramienta), incluso si eso uno es el nivel del sistema.PAGER=cat manpor ejemplo:alias man='PAGER=cat MANPAGER=cat man'Simplemente canalizar la salida de
manacat?fuente
manimplementación, que 1) genera un error, 2) muestra códigos de formato de troff en el terminal, 3) elimina todo el formato, 4) funciona como se esperaba.manparece usar el localizador establecidoMANPAGERincluso cuando la salida es un archivo o una tubería. Y si el buscapersonas esless, entonces todo está bien porque selesscomporta comocatcuando la salida es una tubería ... Pero si usa algo más (como Vim, que yo uso), entonces no es tan bueno.Pruebe estos comandos para generar salida man sin un buscapersonas.
man ls | cat(ancho fijo generado)man -P cat ls(ancho variable generado)Estaba en un sistema GNU Linux
fuente
Otro ángulo: similar a la respuesta de Tony.
También puede redirigir la salida de hombre a un archivo y verlo con su editor de texto favorito o incluso agregarle marcadores, comentarios, etc.
Tengo una copia de la página de manual de bash, así como solo las secciones sobre control de flujo de bash y marcas de prueba de bash guardadas como archivos de texto en mi directorio bin para poder cargarlas directamente en mi editor de texto (kate) para referencia mientras estoy escribir guiones bash.
Advertencia: dependiendo de su sistema y la página del manual, el comando anterior puede dar como resultado información de formato y caracteres de control en el archivo.
Para evitar esto, haga lo sugerido en
LESS='+/^TIPS' man man:fuente