Je voudrais rechercher un mot en 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 i
drapeau en expression régulière, cela transformera l'expression régulière en expression régulière insensible à la casse. Il semble que Vim ait sa propre façon d'indiquer une expression régulière insensible à la casse.
search
vim
case-insensitive
Haiyuan Zhang
la source
la source
\c
peut apparaître n'importe où dans le modèle, donc si vous tapez un modèle et décidez ensuite que vous souhaitez une recherche non sensible à la casse, ajoutez simplement un\c
à la fin.set ignorecase
pour la recherche insensible à la casse dans mon vimrc, et je peux utiliser\C
pour faire une recherche sensible à la casse similaire à ce que @AlokSinghal a mentionné.set smartcase
qui passera automatiquement à une recherche sensible à la casse si vous utilisez des majuscules.set smartcase
s'applique uniquement lorsqu'ilset ignorecase
est déjà actif. J'ai été perplexe pendant un moment. Voir les astuces Vim .\c
contre\C
Ainsi que les suggestions pour
\c
etignorecase
, je trouvesmartcase
très utiles. Si vous recherchez quelque chose contenant des caractères majuscules, il effectuera une recherche sensible à la casse; si vous recherchez quelque chose de purement minuscule, il effectuera une recherche insensible à la casse. Vous pouvez utiliser\c
et\C
pour remplacer ceci:Voir:
la source
ignorecase
est qu'elle affecte les substitutions ainsi que les recherches. Je trouve qu'il est logique d'avoir des recherches (intelligentes) insensibles à la casse mais des substitutions sensibles à la casse par défaut. Mais il n'y a aucun moyen de le faire que je sache.smartcase
travailler, il faut aussiset ignorecase
. Un bon conseil, merci!:%s/lowercasesearch\C/replaceString/g
. Cela ne crée pas la fonctionnalité par défaut que vous désirez, mais cela vous permet de forcer la sensibilité à la casse pour les remplacements tout en bénéficiant de smartcase lors de la recherche.I
indicateur sur une substitution pour forcer le modèle à respecter la casse. Comme:%s/lowercasesearch/replaceString/gI
.After "*" and "#" you can make 'smartcase' used by doing a "/" command, recalling the search pattern from history and hitting <Enter>.
Vous pouvez définir l'
ic
option dans Vim avant la recherche:Pour revenir aux recherches sensibles à la casse, utilisez:
ic
est un raccourci pourignorecase
la source
\c
ne fonctionne pas dans vi.Vous pouvez lancer la commande
et après cela, vos recherches ne seront pas sensibles à la casse.
la source
Pour basculer entre la recherche sensible à la casse et insensible, j'utilise ce mappage dans mon .vimrc
nmap <F9> :set ignorecase! ignorecase?
la source
ignorecase?
vous montre l'état actuel du drapeau. (en ligne de commande)Vous pouvez utiliser dans vos
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 qui estsmartcase
fourni.J'ai récemment écrit un article sur les commandes de recherche Vim (à la fois la commande intégrée et les meilleurs plugins pour rechercher efficacement).
la source
set smartcase
ne respecte pas la casse si je n'utilise pas de majuscules ... est-ce normal?Comme d'autres l'ont suggéré:
Mais le truc cool est que vous pouvez basculer entre ces modes avec:
la source
mettez cette commande dans votre fichier vimrc
toujours faire une recherche insensible à la casse
la source
set noic
.La bonne vieille
vim[grep]
commande ..la source
Cannot open file "&"
%
au lieu de%
.Je préfère utiliser
\c
à la fin de la chaîne de recherche:la source
Comme @huyz mentionne parfois le comportement souhaité utilise des recherches insensibles à la casse mais des substitutions sensibles à la casse. Ma solution pour ça:
Avec cela toujours lorsque vous appuyez sur
/
ou?
cela ajoutera\c
pour la recherche insensible à la casse.la source
smartcase
option?smartcase
Vim a 2 modes
1. mode d'édition
La recherche fonctionnera pour le mode normal
/ \ c pour la casse
/ \ c recherche
la source
Vous pouvez définir
ignorecase
par défaut, exécuter cela dans le shellla source