¿Puedo obligar a 'man' a hacer correspondencias minúsculas?


10

Cuando busco páginas de manual, la búsqueda distingue entre mayúsculas y minúsculas, pero solo con respecto a las letras mayúsculas. Por ejemplo, xcoincidirá xy Xmientras que Xsolo coincidirá x. Esta es la man-dbversión de man, usada en sistemas derivados de fedora por defecto y disponible en otros. man mandice que el buscapersonas predeterminado es less -s. $LESSno está definido en el entorno, mi $PAGERes justo lessy no tengo alias por menos.

Este no es el comportamiento cuando invoco lesssolo.

¿Hay alguna forma de forzar minúsculas xpara que coincidan solo en minúsculas xcuando se usa man?


1
El valor predeterminado es una estricta mayúsculas y minúsculas. Lo que describiste suena como si tu LESSvariable de entorno contiene -i.
manatwork

1
¿Qué versión de lesstienes? ¿Tienes un alias establecido less? ¿Están configurados los MENOS o MENOS ENVOLVENTES? Por defecto, una lessbúsqueda de xsolo coincidencias x, noX
bsd

¿No teníamos ya esta Q? Creo que Hauke ​​lo preguntó, lo buscaré ... (slm regresa antes de los 5 minutos. Expira en el comentario ...) Este, no es un duplicado, pero parece lo que estás preguntando, ¿no? unix.stackexchange.com/questions/116395/…
slm

@slm, esta fue mi primera reacción también, pero como el propietario de la pregunta participó en esa pregunta, supongo que lo sabe.
manatwork

@manatwork echo $LESS= nada. Tenga en cuenta que no es insensible a mayúsculas y minúsculas, pero solo impone la sensibilidad de mayúsculas WRT. @bdowning alias | grep less= nada. Acabo de notar que solo se aplica a través de man(es mandb, por cierto)., Sin embargo. Estoy seguro de que he leído sobre esto antes en alguna parte ...
goldilocks

Respuestas:


3

El hombre llama a Less; el único control a nivel de hombre es elegir con qué opciones llamar a Less.

La sensibilidad de mayúsculas y minúsculas de la búsqueda de Less está controlada por dos opciones.

  • Si -Iestá vigente, entonces las búsquedas no distinguen entre mayúsculas y minúsculas: ao Ase pueden usar para unir ambos ay A.
  • Si -iestá vigente pero no -I, entonces las búsquedas no distinguen entre mayúsculas y minúsculas, pero solo si el patrón no contiene letras mayúsculas.

Si establece -Iuna opción predeterminada para Less, todas las búsquedas no distinguen entre mayúsculas y minúsculas, incluso en las páginas de manual.

Man-db pasa opciones adicionales al localizador a través de la LESSvariable de entorno, que Less interpreta de la misma manera que las opciones de línea de comandos. La configuración está codificada en tiempo de compilación y comienza con -i. (El valor es a "-ix8RmPm%s$PM%s$"partir de Man-db 2.6.2; la P…$parte es la cadena de solicitud).

Si no desea que las búsquedas en las páginas man distingan entre mayúsculas y minúsculas, o si desea que siempre distingan entre mayúsculas y minúsculas, no hay forma de configurar esto en man-db. Puede crear un alias mano un script de contenedor que manipule la LESSvariable de entorno, ya que Man-db antepone su contenido al valor actual si está presente:

alias man='LESS="$LESS -I" man'

Para desactivar la -iopción y hacer que las búsquedas siempre distingan entre mayúsculas y minúsculas de forma predeterminada en las páginas de manual:

alias man='LESS="$LESS -+i" man'

También puede codificar un valor diferente para LESSestablecer la MANLESSvariable de entorno, pero si lo hace, mansimplemente establece LESSel valor de MANLESS, pierde la línea de título personalizada ("Página manual foo(42)") y otros beneficios (en particular, hacer asegúrese de incluir -Rpara el formato en negrita y subrayado).


1

Esta es la forma less's -i(interruptor de línea de comandos) 'caso insensibles' funciona el modo (es decir, todavía es sensible para mayúsculas). Como Gilles señala, el uso de esto se compila en man-db.

Además de las formas indicadas en la respuesta de Gilles, WRT establece un alias +-io una costumbre MANLESS, puede alternar la coincidencia de mayúsculas y minúsculas una vez que se abre la página del manual -i(que activa y desactiva el interruptor); verá un pequeño mensaje "El caso es significativo en las búsquedas" y ahora xsolo coincide xy Xsolo coincide X.

Man-db's mantiene un -Iinterruptor, pero esto se aplica a la búsqueda de la página de manual, por ejemplo, por defecto man BASHle dará la página de manual de bash, mientras man -I BASHque no lo hará.


0

"¿Hay alguna forma de obligar a las minúsculas xa coincidir solo en minúsculas xcuando se usa man?"

Aquí hay una manera

man -Tascii manpage |less

No conozco los detalles sangrientos, pero el roffprocesamiento está realizando el marcado y el localizador parece coincidir con el texto sin marcar, a pesar de que muestra el texto marcado.
Muy confuso, espero que un nroffgurú pueda explicar la tubería.


Esto crea un desastre en mi terminal GUI (lleno de ESC[1msecuencias de tipos).
Ricitos
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.