Comment puis-je rechercher dans vim un modèle qui n'est PAS sensible à la casse?

18

Je recherche occasionnellement des fichiers dans vimou en lessutilisant /ou ?mais pour autant que je sache, les modèles de recherche sont sensibles à la casse.

Ainsi, par exemple, vous /foone trouverez pas les mêmes choses que vous /FOO. Existe-t-il un moyen de le rendre moins strict? Comment puis-je rechercher dans vimou lesspour un modèle qui ne respecte PAS la casse?

Mike B
la source
2
Dans les lessrecherches, la casse est insensible à moins que vous n'utilisiez une chaîne contenant une lettre majuscule. Donc, foocorrespondra Fooet FoOmais Foone correspondra que Fooet non fooetc. Voir aussi ici: moins est toujours insensible à la casse .
terdon
1
@terdon Intéressant! J'ai du mal à comprendre le «pourquoi» d'avoir lessagi de cette façon, mais je suppose que c'est un sujet pour un autre jour. Merci!
Mike B
Eh bien, pour une chose, je trouve cela extrêmement utile lors de la recherche dans les pages de manuel. Je détesterais l'avoir sensible à la casse. Il y a pas mal de messages à ce sujet, regardez aussi ici: Puis-je forcer `man` à faire une correspondance sensible aux minuscules? et ici: recherche insensible à la casse dans les pages de manuel . En fait, si cela ne vous dérange pas, je vais retirer lessde votre question car cela est assez bien couvert dans les autres messages et les réponses que vous avez reçues expliquent comment le faire dans vi.
terdon
@terdon bien pour moi, même si s'il vous plaît envisager de laisser ce dialogue commentaire en tant que j'ai tendance à utiliser à la fois lesset viet cette information est précieuse.
Mike B
À titre de précision, j'utilise effectivement vim(même si je tape vi). Toutes mes excuses pour la confusion.
Mike B

Réponses:

21

Dans viou vimvous pouvez ignorer la casse :set ic, et toutes les recherches ultérieures prendront en compte le paramètre jusqu'à ce que vous le réinitialisiez par :set noic. Il lessy a des options -iet -Iignorer la casse.

Janis
la source
9
Je voudrais également recommander :set smartcase, afin de rechercher uniquement sensible à la casse quand au moins sur le caractère majuscule est utilisé.
Bernhard
3
Juste pour mémoire, smartcase est uniquement vim. Mais "vi" d'OP est probablement vim, il vaut donc la peine de mentionner / essayer.
Random832
@ Random832 Yup. Correct. Mise à jour de la question d'origine à mentionner vimau lieu de vi.
Mike B
27

Utilisez la \cséquence d'échappement:

/foo\c

Voir aussi: /programming/2287440/how-to-do-case-insensitive-search-in-vim

g33kz0r
la source
7
Notez que cela peut aller n'importe où dans le modèle, donc si vous décidez après avoir commencé à taper que vous voulez que le modèle ne respecte pas la casse, vous pouvez simplement ajouter \coù que vous soyez, par exemple /some_very_lo\cng_text.
wchargin
2

Dans votre .vimrcdossier, incluez

set ignorecase

ou

set ic

Pour réactiver la sensibilité à la casse, utilisez :set ic!.

todgru
la source
1
Salut! Cela semble OK, mais cela n'ajoute pas grand-chose à la réponse déjà acceptée, n'est-ce pas?
dhag
1
@dhag toutes les réponses offrent une manière différente d'accomplir la même tâche. La définition de la valeur dans .vimrc permet au paramètre de persister pour les autres sessions vim.
todgru
@dhag vous avez raison, car cela ne résout en rien le problème du PO.
todgru