Je voudrais rechercher un mot majuscule, par exemple COPYRIGHT dans un fichier. J'ai essayé d'effectuer une recherche comme:
/copyright/i # Doesn't work
mais ça ne marche pas. Je sais qu'en Perl, si je donne le drapeau i
dans une expression rationnelle, il transformera cette expression rationnelle en une expression rationnelle insensible à la casse. Il semble que Vim a sa propre manière d’indiquer une expression rationnelle insensible à la casse.
Vous devez utiliser la séquence d'échappement \c
. Alors:
/\ccopyright
Pour faire l'inverse (casse sensible correspondance), utilisez plutôt \C
.
En plus des suggestions pour \c
et ignorecase
, je trouve la smartcase
très utile. Si vous recherchez quelque chose contenant des caractères majuscules, la recherche sera sensible à la casse; si vous recherchez quelque chose de purement minuscule, la recherche sera insensible à la casse. Vous pouvez utiliser \c
et \C
pour remplacer ceci:
:set ignorecase
:set smartcase
/copyright " Case insensitive
/Copyright " Case sensitive
/copyright\C " Case sensitive
/Copyright\c " Case insensitive
Voir:
:help /\c
:help /\C
:help 'smartcase'
Vous pouvez définir l'option ic
dans Vim avant la recherche:
:set ic
Pour revenir aux recherches sensibles à la casse, utilisez:
:set noic
ic
est un raccourci pour ignorecase
Vous pouvez donner la commande
:set ignorecase
et après cela, vos recherches seront insensibles à la casse.
Pour basculer entre la recherche sensible à la casse et non sensible, j'utilise ce mappage dans mon fichier .vimrc.
nmap <F9> :set ignorecase! ignorecase?
Comme d'autres l'ont suggéré:
:set ic
Mais le truc cool est que vous pouvez basculer de tels modes avec:
:set ic!
Vous pouvez utiliser dans votre vimrc
ces commandes:
set ignorecase
- Toutes vos recherches seront insensibles à la casseset smartcase
- Votre recherche sera sensible à la casse si elle contient une lettre majusculeVous devez définir ignorecase
si vous souhaitez utiliser ce que smartcase
fournit.
J'ai récemment écrit n article sur les commandes de recherche Vim (à la fois une commande intégrée et les meilleurs plugins pour effectuer une recherche efficace).
mettre cette commande dans votre fichier vimrc
set ic
toujours faire des recherches insensibles à la casse
Je préfère utiliser \c
à la fin de la chaîne de recherche:
/copyright\c
Comme @huyz mentionne parfois, le comportement souhaité consiste à utiliser des recherches non sensibles à la casse, mais des substitutions sensibles à la casse. Ma solution pour cela:
nnoremap / /\c
nnoremap ? ?\c
Avec cela, toujours lorsque vous appuyez sur /
ou ?
, il ajoutera \c
pour la recherche sans distinction de casse.
Vous pouvez définir ignorecase
par défaut, exécutez-le dans Shell
echo "set ic" >> ~/.vimrc
Vim a 2 modes
Mode 1.edit
La recherche fonctionnera en mode normal
/\c pour sensible à la casse
/\c recherche