Búsqueda insensible a mayúsculas y minúsculas en páginas man

18

¿Hay alguna manera de buscar páginas de manual sin distinción entre mayúsculas y minúsculas? El uso de la función de búsqueda '/' coincide con el caso exacto.

FazJaxton
fuente
55
No existe tal cosa como "buscar en la página del manual". En realidad, es la búsqueda en el buscapersonas la que muestra la página del manual. Depende de la manimplementación que use y del localizador que prefiera, pero yo sí export MANPAGER='less -I'.
manatwork
El punto de @ manatwork es que eso -Isignifica --IGNORE-CASE, even if the pattern contains uppercase letters, ver man less.
terdon

Respuestas:

18

Cuando no se especifica ningún otro localizador, se manutiliza lesspara mostrar páginas de manual.

Las otras respuestas que implican cambiar la línea de comando del localizador son correctas, pero también puede escribir -imientras se ejecuta menos. Desde la página de menos man:

- Seguido por una de las letras de opción de línea de comando (ver OPCIONES a continuación), esto cambiará la configuración de esa opción e imprimirá un mensaje que describe la nueva configuración.

Por lo tanto, escribir -icon menos cambios cambia la configuración de la misma manera que especificarlo en la línea de comando. Recibí la pista de que esto funcionaría de Cómo hacer una búsqueda que no distinga entre mayúsculas y minúsculas usando un modificador de patrón con menos , luego encontré la explicación en la página del manual.

FazJaxton
fuente
13

Solo si usa mayúsculas, no si solo usa letras minúsculas. Por ejemplo, ejecuta man bashy prueba:

  • /invoc <== mayúsculas y minúsculas
  • /Invoc <== mayúsculas y minúsculas
  • /INVOC <== mayúsculas y minúsculas

Como @manatwork señaló en los comentarios, también puede controlar este comportamiento agregando export MANPAGER='less -I'a su ~/.profile. La MANPAGERvariable define qué programa se usa con el mancomando. Los -Imedios (de man less):

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the  pattern  contains
          uppercase letters.

Otras opciones relevantes son (esta suele estar activada por defecto):

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase and lowercase
          are  considered identical.  This option is ignored if any upper‐
          case letters appear in the search pattern; in other words, if  a
          pattern  contains  uppercase  letters, then that search does not
          ignore case.

Por lo tanto, si puede export MANPAGER="less -I"; man bash, debería poder buscar /iNvOcsin distinción entre mayúsculas y minúsculas.

terdon
fuente
+1 ¿Sabes cómo se puede forzar la distinción entre mayúsculas y minúsculas en un patrón de búsqueda en minúsculas?
Joseph R.
@JosephR. man bash | grep -C 5 invocPero eso es trampa.
terdon
Sí, no es exactamente la respuesta que estaba buscando. Esto puede valer otra pregunta por sí mismo ...
Joseph R.
1
@JosephR. aparentemente , puede compilar lesspara usar PCRE que podrían ser el truco.
terdon
La distinción entre mayúsculas y minúsculas solo parece ser verdadera si se especifica "-i" en la línea de comando. Sin él, todas las búsquedas distinguen entre mayúsculas y minúsculas.
FazJaxton