W Vimie, jeśli chcę przeprowadzić wyszukiwanie pasujące do „planA” lub „planB”, wiem, że mogę to zrobić:
/plan[AB]
Działa to, ponieważ regex pozwala na użycie A lub B jako zestawu znaków.
Ale jak mogę określić jeden z dwóch kompletnych ciągów? Na przykład „planetAwesome” czy „planetTerrible”?
Spowoduje to dopasowanie obu tych elementów wraz z „planetAnythingHereAsLongAsItsJustLetters”:
planet\([a-zA-Z]*\)
Jak mogę dopasować tylko ciągi pasujące dokładnie do „planetAwesome” lub „planetTerrible”?
plan[ABC]
meczeplanA
,planB
iplanC
równie dobrze.Odpowiedzi:
Aby wyświetlić odpowiednią dokumentację, wydaj
:help /
i przewiń w dół do sekcji „Definicja wzoru”.źródło
\m
,\M
,\v
, lub\V
. Istnieje również'magic'
opcja , ale zwykle najlepiej pozostawić ją w spokoju, ponieważ ma ona globalny efekt (chyba że zostanie zastąpiona przez jedną z powyższych flag)./\vplanet(Awesome|Terrible)
Aby dodać do odpowiedzi Gillesa, możesz dodać kilka rzeczy:
\<
oznacza początek „słowa” (zasadniczo alfanumeryczny)\>
oznacza koniec „słowa” (zasadniczo alfanumeryczny)źródło