moins est toujours insensible à la casse

21

En essayant de savoir comment utiliser les recherches insensibles à la casse dans lessJ'ai trouvé cela sur serverfault .

Cela semble parfaitement répondre à ma question. Le problème est: cela ne fonctionne pas comme ça ici (openSUSE 13.1; moins 458).

J'avais aliasé lessà less -WiNSmais je changé. Mais même l'appeler comme command less fileça ne change rien. J'ai vérifié psqu'il n'y avait plus d' -ioption dans la ligne de commande.

Comme l'indique la réponse, l' lessaide (en appuyant sur h) indique que je peux également l'utiliser à l' -iintérieur less. Si je l'utilise une fois, il lessme dit que la recherche est insensible à la casse (c'est un peu correct: rien ne change). Si je l'utilise deux fois, il lessme dit qu'il s'est tourné vers la recherche sensible à la casse. Et bien, alors cela fonctionne comme il se doit depuis le début. Donner -ideux fois sur la ligne de commande ne fonctionne pas.

Qu'est-ce qui se passe ici?

Hauke ​​Laging
la source
1
GNU less ne fonctionne pas comme ça pour moi (c'est-à-dire qu'il est par défaut sensible à la casse). Êtes-vous sûr que ce n'est pas un alias? Quelles options utilisez-vous pspour vérifier cela?
goldilocks
1
Hmm. Je n'ai jamais remarqué cela, mais vous avez absolument raison. La recherche de FOO trouve juste FOO, mais la recherche de footrouvailles foo& FOO. Même avec le -iet -WiNS.
slm
@goldilocks Avec psje n'obtiens aucune command lessoption ( ) ou -WNSalors je suis sûr que ce n'est pas un psproblème pour cacher -i/ -I. lessne semble même pas avoir la possibilité d'un fichier de configuration qui pourrait intervenir ici.
Hauke ​​Laging
@slm "même avec -i" est assez drôle parce que -ic'est censé faire exactement cela. La question intéressante est: votre moins correspond-il FOOà foo sans -i ?
Hauke ​​Laging
Non ça marche dans l'autre sens. FOOcorrespond uniquement FOO. Ça ressemble à un bug pour moi.
slm

Réponses:

32

Je ne sais pas comment l'activer à partir de la ligne de commande, mais lorsque vous êtes à l'intérieur, lessvous pouvez basculer le comportement que vous souhaitez en donnant la -icommande less.

basculer -i

      SS # 1        SS # 2

recherche /blahet/BLAH

      SS # 3       SS # 4

à la recherche de /Blah

      SS # 5

Apparemment, vous pouvez également invoquer ce mode à la demande en suffixant vos recherches avec un -i.

Exemple

less prompt> /search string/-i

Les références

slm
la source
Cela fonctionne aussi pour moi, mais je dois y entrer deux fois. Je suppose que j'écrirai un rapport de bogue pour openSUSE.
Hauke ​​Laging
@HaukeLaging - Il semble rester par défaut si vous quittez et revenez, pouvez-vous confirmer ce comportement?
slm
Non, mais j'ai découvert quelque chose d'intéressant (pas lié à ce "bug", cependant): vous pouvez l'utiliser -imême après une recherche. La surbrillance change alors (si elle est encore active).
Hauke ​​Laging
@HaukeLaging - ah oui c'est ça. Donc, la notation est un peu bizarre par rapport à d'autres outils. /search string/-i.
slm
1
Le suffixe ne semble pas fonctionner less 487 (GNU regular expressions)(depuis Ubuntu 18.04)
Ruslan
5

Le manuel (pour ma lessversion 444) dit:

      Options are also taken from the environment variable "LESS".  For exam‐
   ple, to avoid typing "less -options ..." each time less is invoked, you
   might tell csh:

   setenv LESS "-options"

   or if you use sh:

   LESS="-options"; export LESS

   On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.
       On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.  If an option
   appears in the LESS variable, it can be reset to its default  value  on
   the command line by beginning the command line option with "-+".

Donc, je vérifierais si la variable d'environnement LESSpeut être définie quelque part, dans votre shell "fichiers dot" peut-être. De plus, less -+idevrait réinitialiser le -ipar défaut (qui est sensible à la casse). Si cela ramène la sensibilité à la casse pour vous, alors vous pourriez alias less=less -+i, peut-être avec alias lessi=less -i.

Omid
la source
0

Vous pouvez commencer moins et ignorer la casse en passant l'option -i. Cela ignore la casse sauf si la chaîne de recherche a un caractère majuscule. Voici le résumé sur moins de la page d'aide d'Ubuntu :

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

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

D'autres versions de less peuvent varier dans leurs interprétations de -i.

DDay
la source