it-swarm-eu.dev

Jak dělat necitlivé vyhledávání ve Vimu

Chci vyhledat velké slovo, například COPYRIGHT v souboru. Snažil jsem se provést vyhledávání jako:

/copyright/i    # Doesn't work

ale to nefunguje. Vím, že v Perlu, pokud dám příznak i do regexu, se z regexu stane regex necitlivý na případy. Zdá se, že Vim má svůj vlastní způsob, jak ukázat případově necitlivý regex.

1483
Haiyuan Zhang

Musíte použít sekvenci escape \c. Tak:

/\ccopyright

Chcete-li provést inverzní (case sensitive matching), použijte místo toho \C.

1873
Chinmay Kanchi

Stejně jako návrhy na \c a ignorecase považuji smartcase za velmi užitečné. Pokud budete hledat něco, co obsahuje velká písmena, bude vyhledávat velká a malá písmena; Pokud hledáte něco čistě malého, bude to vyhledávání bez rozlišení písmen. Pomocí \c a \C můžete toto přepsat:

:set ignorecase
:set smartcase
/copyright      " Case insensitive
/Copyright      " Case sensitive
/copyright\C    " Case sensitive
/Copyright\c    " Case insensitive

Vidět:

:help /\c
:help /\C
:help 'smartcase'
619
DrAl

Možnost ic můžete nastavit ve Vimu před vyhledáním:

:set ic

Chcete-li se vrátit zpět k vyhledáváním rozlišujícím velká a malá písmena, použijte:

:set noic

ic je zkratka pro ignorecase

258
Nathan Fellman

Příkaz můžete vydat

:set ignorecase

a poté budou vaše vyhledávání velká a malá písmena.

51
Paolo Tedesco

Pro přepínání mezi rozlišením rozlišujícím malá a malá písmena používám toto mapování v mém .vimrc

nmap <F9> :set ignorecase! ignorecase?

43
vbd

Jak navrhli jiní:

:set ic

Ale cool věci je Můžete přepínat mezi těmito režimy:

:set ic!
17
fane89

umístěte tento příkaz do souboru vimrc

set ic 

vždy nehledejte případy

17
WALID BELRHALMIA

V příkazech vimrc můžete použít tyto příkazy:

  • set ignorecase - Všechna vaše vyhledávání budou nerozlišovat velká a malá písmena
  • set smartcase - Vaše vyhledávání bude rozlišovat velká a malá písmena, pokud obsahuje velké písmeno

Pokud chcete použít ignorecase, musíte nastavit smartcase.

Nedávno jsem napsal článek o Vim vyhledávacích příkazech (jak vestavěný příkaz, tak i ty nejlepší pluginy pro efektivní vyhledávání).

14
Matthieu

Dobrý starý příkaz vim[grep] ..

:vimgrep /example\c/ &
  • \c pro případ necitlivý
  • \C pro malá a velká písmena
  • % je hledat v aktuálním bufferu

enter image description here

13
Mick

Na konci vyhledávacího řetězce dávám přednost \c:

/copyright\c
9
Nick Tsai

Jako @huyz zmínka někdy požadované chování používá case-insensitive hledání ale případ-citlivé substituce. Moje řešení:

nnoremap / /\c
nnoremap ? ?\c

S tím vždy, když stisknete / nebo ?, přidá se \c pro vyhledávání v malých a velkých písmenech.

7
pbogut

Ve výchozím nastavení můžete nastavit ignorecase, spouštět v prostředí Shell

echo "set ic" >> ~/.vimrc
2
Steely Wing

Vim má 2 režimy

1.edit mód

  1. normální režim (Esc)

Vyhledávání bude fungovat pro normální režim

/c pro velká a malá písmena

/c hledání

2
Gowthaman